2012-03-28 110 views
2

我想知道是否有可能確定一個接受的套接字連接是否已經斷開連接而沒有嘗試寫入它。是否可以檢查TCP連接是否斷開而不寫入它?

IO::Select仍然表明套接字可以寫入can_write,即使在套接字連接丟失之後。

是否有可能檢查TCP連接是否在未寫入的情況下斷開連接(在發生計劃外網絡中斷的情況下)。

回答

3

這比TCP更像一個TCP問題。

類似斷開的電纜/互聯網連接等事件不會導致TCP事件。因此,您必須寫入TCP連接以確保它仍處於連接狀態。您可能會添加一個ping/echo消息來確認連接是否仍然可用。

+0

是的,我有這樣的感覺,這是有道理的。 – GoldenNewby 2012-03-28 05:41:47

1

一般來說,沒有。寫作時通常只會失敗:如果你從不寫信,它只會坐在那裏。如果你完全失去了網絡連接,我就會看到錯誤(在Windows上:在Linux上沒有嘗試過),但是你通常需要嘗試寫入它來驗證它是否存在。

相關問題