
网络编程
simanstar
后台开发
展开
-
Linux网络编程经典书籍
首先要说讲述计算机网络和TCP/IP的书很多。 先要学习网络知识才谈得上编程讲述计算机网络的最经典的当属Andrew S.Tanenbaum的《计算机网络》第五版,这本书难易适中。《计算机网络(第5版)》是国内外使用最广泛、最权威的计算机网络经典教材。目前已经是第五版,本书作者80年代就开发出MINIX,是一个用于操作系统教学的类UNIX(的小型操作系统。而linux就是受其影翻译 2014-02-25 22:28:34 · 2258 阅读 · 0 评论 -
TCP状态转换图详解
在前面,已经介绍了TCP协议的三路握手和四次挥手。如下图所示,TCP通信过程包括三个步骤:建立TCP连接通道(三次握手)、数据传输、断开TCP连接通道(四次挥手)。 这里进一步探究TCP三路握手和四次挥手过程中的状态变迁以及数据传输过程。先看TCP状态状态转换图。 ...转载 2018-06-08 20:02:29 · 2522 阅读 · 0 评论 -
浅析套接字中SO_REUSEPORT和SO_REUSEADDR的区别
Socket的基本背景在讨论这两个选项的区别时,我们需要知道的是BSD实现是所有socket实现的起源。基本上其他所有的系统某种程度上都参考了BSD socket实现(或者至少是其接口),然后开始了它们自己的独立发展进化。显然,BSD本身也是随着时间在不断发展变化的。所以较晚参考BSD的系统比较早参考BSD的系统多一些特性。所以理解BSD socket实现是理解其他socket实现的基石。下面我们...转载 2018-03-05 21:52:26 · 318 阅读 · 0 评论 -
关于HTTP协议,一篇就够了
HTTP简介HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系转载 2017-02-15 14:47:14 · 406 阅读 · 0 评论 -
nginx源码学习资源(不断更新)
nginx源码学习是一个痛苦又快乐的过程,下面列出了一些nginx的学习资源。 首先要做的当然是下载一份nginx源码,可以从nginx官方网站下载一份最新的。看了nginx源码,发现这是一份完全没有注释,完全没有配置文档的代码。 现在你最希望要的是一份注释版的nginx源码,可以从下面的链接中下载一份:https://github.com/jianfengye/nginx原创 2014-11-20 16:13:01 · 1299 阅读 · 1 评论 -
DNS分别在什么情况下使用UDP和TCP
DNS同时占用UDP和TCP端口53是公认的,这种单个应用协议同时使用两种传输协议的情况在TCP/IP栈也算是个另类。但很少有人知道DNS分别在什么情况下使用这两种协议。 如果用wireshark、sniffer或古老些的tcpdump抓包分析,会发现几乎所有的情况都是在使用UDP,使用TCP的情况非常罕见,神秘兮兮。其实当解析器发出一个request后,返回的response中的原创 2014-10-31 11:42:24 · 1762 阅读 · 0 评论 -
DNS协议详解
DNS协议详解 一、前言 foxmail新版中有一个《邮件特快专递》的功能。起先搞不懂如何用,后来知道要在 工具->系统选项 那边设置 本地DNS服务器的IP地址。 觉得这个新功能蛮好用的。不需要通过SMTP代理,可以直接通过本地往邮箱所在的邮件交换器发送邮件。在暑假一开始想在VC++中实现这个功能。用IRIS截包后,发现程序后mx8.263.net发送邮箱,不知道这个是什么东原创 2014-10-31 11:36:36 · 2469 阅读 · 0 评论 -
什么是保护消息边界和流?
保护消息边界,就是指传输协议把数据当作一条独立的消息在网上传输,接收端只能接收独立的消息.也就是说存在保护消息边界,接收端一次只能接收发送端发出的一个数据包.而面向流则是指无保护消息保护边界的,如果发送端连续发送数据, 接收端有可能在一次接收动作中,会接收两个或者更多的数据包.我们举个例子来说,例如,我们连续发送三个数据包,大小分别是2k, 4k , 8k,这三个数据包,都已经到达了接收端的网络堆原创 2014-10-13 18:33:20 · 987 阅读 · 0 评论 -
SSL和SSH的区别
有人说,SSH一般是用来提供安全的登录用的,SSL只是一个在协议层中加入的一层用来提供安全。 SSH工作在TCP之上,可以在启动一个SSH应用后,在其通道里运行其它协议的应用,如邮件。 SSL可以认为是如果应用程序本身支持SSL,那么他启动后就自动使用SSL连接去运行了,我们当然就没必要再使用SSH了。 SSL 可以认为是程序代码级是否支持的一种特性 SSH是我们后原创 2014-10-29 20:23:01 · 9979 阅读 · 0 评论 -
54款开源服务器软件(内容管理、数据库、电子商务、邮件服务器、文件传输、操作系统、安全、小公司服务
本文逐一介绍了内容管理、数据库、电子商务、邮件服务器、文件传输、操作系统、安全、小公司服务器、服务器日志文件监控和分析、存储、虚拟化、Web服务器、维基/协作及其他方面的开源服务器软件。据斯坦福大学的咨询学教授Jonathon Koomey近期作所的一项调查显示,全球已安装的服务器总数约为3160万台,包括设在美国的大约1150万台。如果企业机构针对所有那些系统只能使用专有软件,因而带来的原创 2014-10-01 17:46:52 · 6114 阅读 · 0 评论 -
ftp的port和pasv模式比较
一、ftp的port和pasv模式的工作方式 FTP使用2个TCP端口,首先是建立一个命令端口(控制端口),然后再产生一个数据端口。国内很多教科书都讲ftp使用21命令端口和20数据端口,这个应该是教书更新太慢的原因吧。实际上FTP分为主动模式和被动模式两种,ftp工作在主动模式使用tcp 21和20两个端口,而工作在被动模式会工作在大于1024随机端口。FTP最权威的参考见RFC原创 2014-10-23 21:48:22 · 3424 阅读 · 0 评论 -
《Unix NetWork Programming》(Unix网络编程)—环境搭建
1,安装编译器,为了齐全还是安装一下build-essential[python] view plaincopysudo apt-get install build-essential 2,下载本书的头文件及示例源码点此下载unpv13e.tar.gz http://ishare.iask.sina.com.cn/f/132385原创 2014-09-20 23:29:00 · 2317 阅读 · 0 评论 -
TCP/IP网络编程之四书五经
TCP/IP网络编程之四书五经 孟岩TCP/IP协议是目前广域网和局域网通用的网络协议,因此,基于TCP/IP的编程就格外重要。从应用原创 2014-07-07 21:37:42 · 4029 阅读 · 1 评论 -
socket在什么情况下可读可写
一、 下列四个条件中的任何一个满足时,socket准备好读: 1.socket接收缓冲区中已经接收的数据的字节数大于等于socket接收缓冲区低潮限度的当前值;对这样的socket的读操作不会阻塞,并返回一个大于0的值(即:准备好读入的数据的字节数).我们可以用socket选项SO_RCVLOWAT来设置此低潮限度,对于TCP和UDPsocket,其缺省值为1; 2.连接的读这一半关闭(即:接...转载 2018-07-09 13:52:36 · 2690 阅读 · 0 评论