第十一篇:基于TCP的一对回射客户/服务器程序及其运行过程分析( 下 )

本文通过在服务器和客户端执行netstat-a命令,详细分析了TCP连接的不同状态,包括监听、已建立以及TIME_WAIT状态,并通过实验验证了TIME_WAIT状态的存在及消失过程。

执行分析

1. 打开服务器进程:

       

2. 执行netstat -a命令观察当前的连接状态:

       

       第1条连接记录说明:绑定了本地主机的任意IP,端口为9877,目前处于监听状态。

3. 打开客户进程:

       

4. 执行netstat -a命令观察当前的连接状态,发现了两个新的连接:

       

       以及

       

       上面一个连接说明一个连接到服务器的连接,客户端临时端口是32818,目的端口正是先前的9877,连接状态为已建立,对应已连接套接字;

       下面一个连接说明一个连接到客户端的连接,服务端端口为9877,目的端口是32818,这个连接已经建立,对应的是已连接套接字;

       因为是在一台机器上做的测试,因此出现了上述两条“ 对称 ”的结果。

5. 然后测试该回射程序:

       

6. 接下来,ctrl+D中断连接,然后立马netstat -a查询连接状态:

       可以观察到,多了一条是客户端的TIME_WAIT状态的记录( 服务器端是没有什么状态显示的因为程序已经结束了 ):

       

7. 过一段时间,再次netstat -a,会发现上面那条记录已经没了。这是因为TIME_WAIT过一段时间就没了,和设想一致。

转载于:https://www.cnblogs.com/muchen/p/6357427.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值