5.15 拔掉网线,TCP连接还存在吗? 有数据传输的情况: 在客户端拔掉网线后,如果服务端发送了数据报文,那么在服务端重传次数没有 达到最大值之前,客户端就插回了网线,那么双方原本的 TCP 连接还是能正常 存在,就好像什么事情都没有发生。 在客户端拔掉网线后,如果服务端发送了数据报文,在客户端插回网线之前,服 务端重传次数达到了最大值时,服务端就会断开 TCP 连接。等到客户端插回网 线后,向服务端发送了数据,因为服务端已经断开了与客户端相同四元组的 TCP 连接,所以就会回 RST 报文,客户端收到后就会断开 TCP 连接。至此, 双方的 TCP 连接都断开了。 没有数据传输的情况: 如果双方都没有开启 TCP keepalive 机制,那么在客户端拔掉网线后,如果客户 端一直不插回网线,那么客户端和服务端的 TCP 连接状态将会一直保持存在, 并且一直保持在 ESTABLISHED 状态。 如果有开启,服务端在一段时间没有进行数据交互时,会触发 TCP keepalive 机 制,探测对方是否存在,如果探测到对方已经消亡,则会断开自身的 TCP 连 接:
30 1

相关推荐

牛客网
牛客企业服务