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

发表于:2007-07-04来源:作者:点击数: 标签:
对于网线断开后重新连上 tcp socket 连接保持 ESTABLISH 状态不变的问题的解释 有些网络 应用在网线断开后重新连上的情况下 tcp socket 连接保持 ESTABLISH 状态不变, 如果应用程序不使用 tcp 的 keepalive,在网线断开之后,以前建立的 socket 链接仍然会保
对于网线断开后重新连上  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.ltesting.net