客户端最后TIME_WAIT,需等待2MSL超时,然后恢复到CLOSED状态。
等待超时的原因为:
1.防止服务器没收到ACK,那么服务器超时后,会重新发FIN和ACK,此时,客户端就可以重发ACK给服务器,否则,服务器就无法转换为CLOSED
2.等待网络中的旧的报文生命周期结束,在网络中消失,下次重新发送报文,网络中就都是新的了
如果一方突然断电了,有没有办法知道?
答:没有办法,要么打开keepalive机制,但是那个两小时才探测一次,要么自己写心跳探测,但是肯定也有滞后性
客户端最后TIME_WAIT,需等待2MSL超时,然后恢复到CLOSED状态。
等待超时的原因为:
1.防止服务器没收到ACK,那么服务器超时后,会重新发FIN和ACK,此时,客户端就可以重发ACK给服务器,否则,服务器就无法转换为CLOSED
2.等待网络中的旧的报文生命周期结束,在网络中消失,下次重新发送报文,网络中就都是新的了
如果一方突然断电了,有没有办法知道?
答:没有办法,要么打开keepalive机制,但是那个两小时才探测一次,要么自己写心跳探测,但是肯定也有滞后性