tcp连接中TIME_WAIT状态过多

参考自: https://blog.****.net/yusiguyuan/article/details/21445883

               https://blog.****.net/codercong/article/details/52065134

tcp连接中TIME_WAIT状态过多

作用:

     1.保证双方正常种植数据流传输[最后一个ACK丢失了,被动关闭一方会重发它的FIN主动关闭一方必须维持一个有效状态信息(TIMEWAIT状态下维持),以便能够重发ACK,否则被动一方会认为有错误产生]

  2.保证在下一个人使用的IP地址与端口与先前的完全相同的情况下,上一个残留的数据包,不会被下一个人接收到(time_wait持续等待时间为2msl,确保数据丢失成功)。


问题(过多的TIME_WAIT会导致端口被占用):

 使用socket.setsockopt() #SO_REUSEADDR 代开或关闭地址复用功能

一般情况下,不用考虑这个TIME_WAIT,因为它的存在就是友好的