网络编程
文章平均质量分 85
wpfbcr
这个作者很懒,什么都没留下…
展开
-
解决TIME_WAIT状态常见的解决办法
TIME_WAIT状态: 在TCP连接中,主动关闭链接的一方会进入TIME_WAIT状态,它会保持长达2MSL周期的时间,为什么会保持这么长的时间上一篇博客中已经提到过了。如果server的最后一次ACKclient没有收到,client会重新发送一次fin这个时间是在2ML周期之间的,这个时候server还保持着TIME_WAIT的状态所以它会再次发送ACK确认,而如果不等待这么长时间的话,s原创 2016-05-29 16:54:59 · 1721 阅读 · 0 评论 -
基于TCP协议下的socket编程
socket: TCP/IP协议中一个端口号和一个IP地址绑定在一起就生成一个socket就表示了网络中唯一的一个进程,它是全双工的工作方式。基于TCP的socket编程函数的使用:1、socket() #include /* See NOTES */ #include int socket(int domain, int typ原创 2016-05-29 16:55:02 · 2557 阅读 · 0 评论 -
网络编程中常见的5种I/O模型
I/O模型Unix下共有五种I/O模型:1>:阻塞I/O2>:非阻塞I/O3>:I/O多路复用4>:信号驱动I/O5>:异步I/O其中前四种是同步I/O模型,只有第五种是异步的。同步与异步:这里的同步和两个实体之间通信中的同步的概念是不一样的,这里的同步是指关于这个I/O中的一系列动作都需要自己来完成,无论你是原地等待事件的发生(阻塞)还是当某个事件已经准备好的时候你去完成后面的的动作(非阻塞)都原创 2016-05-29 16:55:08 · 2649 阅读 · 0 评论 -
高级I/O----sockerpair
socketpairsocketpair:相比较之前提到的管道,socketpair是一个全双工的通信方式,它的一端即可以读也可以写,对于它我是这样理解的:假设现在我们是在本地使用socketpair的,客户端为fd[0],服务器端为fd[1],当服务器向客户端写数据时,从fd[1]的写端写入数据,而从fd[1]的读端读取数据,反之从客户端上的操作也是如此。下面是实现的原创 2016-05-29 18:22:33 · 513 阅读 · 0 评论 -
高级I/O-----dup/dup2
dup/dup2dup/dup2是两个用于指定文件操作符的方法,作用很相似,它是得两个文件描述符指向同一个file结构体,使file的引用计数为2,所以在使用的时候我们需要手动关闭另外一个不需要的。dup:dup的作用是将文件描述符指向一个最小的文件描述符。1234 #i原创 2016-05-31 21:42:41 · 306 阅读 · 0 评论