Chinaunix首页 | 论坛 | 博客
  • 博客访问: 537082
  • 博文数量: 142
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1452
  • 用 户 组: 普通用户
  • 注册时间: 2013-09-12 16:28
文章分类

全部博文(142)

文章存档

2016年(10)

2015年(60)

2014年(72)

我的朋友

发布时间:2014-09-17 16:28:53

通常调用close函数对socket进行关闭,为啥还要选用shutdown来关闭socket,原因有如下两个:1).在介绍close的时候,已经说明了,close只有在对应socket的引用计数为0时,才会真正发送FIN报文来关闭这个连接。shutdown没有这个限制,直接发送FIN报文。2).close同时终止了读和写两个方向的数据传输。但是TCP的双工的,我们有.........【阅读全文】

阅读(784) | 评论(0) | 转发(0)

发布时间:2014-09-17 16:17:45

并发服务器程序的轮廓点击(此处)折叠或打开pid_t pid;int listenfd,connfd;listenfd = socket(AF_INET,SOCK_STREAM,0);bind(listenfd,...);listen(listenfd, LISTENQ);.........【阅读全文】

阅读(1150) | 评论(0) | 转发(0)

发布时间:2014-09-17 11:24:18

子进程会继承父进程的信号处理函数。当一个进程fork一个子进程时,子进程会继承父进程的存储映射,所以捕捉函数的地址在子进程中是有意义的,所以子进程会继承父进程的信号处理函数。特殊的是exec,因为exec运行新的程序后会覆盖从父进程继承来的存储映像,那么信号捕捉函数在新程序中已无意义,所以exec会将原先设置为要.........【阅读全文】

阅读(1006) | 评论(0) | 转发(0)

发布时间:2014-09-16 17:00:53

TCP主动关闭的一端,在收到对方的FIN并发送ACK,进入2MSL(maximun segment lifetime,最大报文生存期)的等待时间。原因:1.防止发送的ACK丢失,等待着,如果对端重发FIN报文,可以重发ACK。2.在2MSL时间内阻止定义这个连接的socket(客户IP地址和端口,服务器IP地址和端口)再次被使用。.........【阅读全文】

阅读(1601) | 评论(0) | 转发(0)

发布时间:2014-09-16 11:25:31

1.任何一端调用close,称此端为主动关闭,如果此时socket描述符的引用计数为0,则发送一个FIN报文2.接收到FIN的对端执行被动关闭。这个FIN由TCP确认,作为一个文件结束符传递给接收端应用程序,因为FIN的接收意味着接收端应用进程在相应连接上再无额外数据可接收。发送ACK确认3.对端也调用close,发送FIN4.发送ACK.........【阅读全文】

阅读(435) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册