對於網線斷開後重新連上 tcp socket 連線保持 ESTABLISH 狀態不變的問題的解釋(轉)

post0發表於2007-08-09
對於網線斷開後重新連上 tcp socket 連線保持 ESTABLISH 狀態不變的問題的解釋(轉)[@more@]

有些網路應用在網線斷開後重新連上的情況下 tcp socket 連線保持 ESTABLISH 狀態不變,

如果應用程式不使用 tcp 的 keepalive,在網線斷開之後,以前建立的 socket 連結仍然會保持在

ESTABLISH 狀態不會改變。實際上 tcp 協議對這部分是有所處理的,要求服務端程式,在設定 socket 屬性時,

使用 keepalive option, 一旦有此設定,這些長時間無資料的連結會根據 tcp 的keepalive 核心屬性,

在 > (tcp_keepalive_time + (tcp_keepalive_probes * tcp_keepalive_intvl))

所對應的時間(單位為秒)之後,斷開這些連結

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-939284/,如需轉載,請註明出處,否則將追究法律責任。

相關文章