当前位置:Linux教程 - Linux综合 - 对于网线断开后重新连上 tcp socket 连接保持 ESTABLISH 状态不变的问题的解释

对于网线断开后重新连上 tcp socket 连接保持 ESTABLISH 状态不变的问题的解释

  有些网络应用在网线断开后重新连上的情况下 tcp socket 连接保持 ESTABLISH 状态不变, 如果应用程序不使用 tcp 的 keepalive,在网线断开之后,以前建立的 socket 链接仍然会保持在 ESTABLISH 状态不会改变。实际上 tcp 协议对这部分是有所处理的,要求服务端程序,在设置 socket 属性时, 使用 keepalive option, 一旦有此设置,这些长时间无数据的链接会根据 tcp 的keepalive 内核属性, 在 > (tcp_keepalive_time + (tcp_keepalive_probes * tcp_keepalive_intvl)) 所对应的时间(单位为秒)之后,断开这些链接。

(出处:http://www.sheup.com)