有些網(wǎng)絡(luò)應(yīng)用在網(wǎng)線斷開(kāi)后重新連上的情況下 tcp socket 連接保持 ESTABLISH 狀態(tài)不變,
如果應(yīng)用程序不使用 tcp 的 keepalive,在網(wǎng)線斷開(kāi)之后,以前建立的 socket 鏈接仍然會(huì)保持在
ESTABLISH 狀態(tài)不會(huì)改變。實(shí)際上 tcp 協(xié)議對(duì)這部分是有所處理的,要求服務(wù)端程序,在設(shè)置 socket 屬性時(shí),
使用 keepalive option, 一旦有此設(shè)置,這些長(zhǎng)時(shí)間無(wú)數(shù)據(jù)的鏈接會(huì)根據(jù) tcp 的keepalive 內(nèi)核屬性,
在 > (tcp_keepalive_time + (tcp_keepalive_probes * tcp_keepalive_intvl))
所對(duì)應(yīng)的時(shí)間(單位為秒)之后,斷開(kāi)這些鏈接。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1757772
聯(lián)系客服