zzzz2655 2015-03-22 03:19 采纳率: 0%
浏览 2061

求网络大牛解决疑难杂症,为何断开连接后,不出现time_wait状态

我们都知道,tcp/ip协议断开连接是4次挥手,主动断开的一方,最后会进入time_wait状态,等待2MSL后变成CLOSED,但是我在本地做了一个php网页,代码逻辑就是先sleep,3秒钟然后输出几个字符,但是查看网络状态时,压根找不到time_wait的状态:

以下是通过natstat命令,查看到机器上的状态

1.在服务器sleep的时候,建立连接的双方都是ESTABLISHED

2.网页输出之后,大约过3秒钟,就是我第二次的网络状态,80端口进入FIN_WAIT_2,

58410端口(这次发起请求的浏览器端口),为CLOSE_WAIT状态

3.又过了大约10秒钟,就是我第三次查看状态,双方的连接消失了

图片说明

按照tcp/ip上面的写法,现在主动断开连接的一方会进入time_wait状态,可是这里却没有,求教这是为什么?

(本地环境为wamp2.4,win7 64位,测试浏览器为ie8)

  • 写回答

1条回答 默认 最新

  • 清水依恋成 2015-04-05 15:45
    关注

    你想学习这方面首先你最好别用浏览器,浏览器是代替你做了socket连接,而不是你的php代码做连接。
    另外socket连接状态和网卡工作效率有关系,time_wait状态仅仅表示等待等待,到底等待什么,如果实在没有可等待的了,就close了,从客户端和服务端的网卡硬件上删除标识位。

    评论

报告相同问题?

悬赏问题

  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作