加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码门户网 (https://www.92codes.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

linux网络编程之socket(九) 使用select函数改进客户端/服务器端程序

发布时间:2016-09-21 05:31:57 所属栏目:Linux 来源:站长网
导读:一、当我们使用单进程单连接且使用readline修改后的客户端程序,去连接使用readline修改后的服务器端程序,会出 现一个有趣的现象,先来看输出: 先运行服务器

即 client 关闭socket描述符,server 子进程的TCP连接收到client发的FIN段后处于TIME_WAIT状态,此时会再发生一个ACK段 给client,client接收到之后就处于CLOSED状态,这个状态存在时间很短,所以看不到客户端的输出条目,TCP协议规定, 主动关闭连接的一方要处于TIME_WAIT状态,等待两个MSL(maximumsegment lifetime)的时间后才能回到CLOSED状态,需 要有MSL 时间的主要原因是在这段时间内如果最后一个ack段没有发送给对方,则可以重新发送。

过一小会再次查看 网络状态,

simba@ubuntu:~$ netstat -an | grep tcp | grep 5188

tcp        0      0 0.0.0.0:5188            0.0.0.0:*               LISTEN

可以发现只剩下服务器端父进程的监听状态了,由TIME_WAIT状态转入 CLOSED状态,也很快会消失。

(编辑:源码门户网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读