2011-07-27 151 views

回答

2

TTL告訴數據包在放棄之前他可以經歷多少路由器,而Keep Alive會告訴連接多長時間必須保持打開狀態而沒有活動。

從我讀到的關於靈兒的文章中,我看不出與保持活力的區別,我可能在這裏錯過了一些東西。

編輯:逗留選項允許您關閉套接字,同時告訴它等待一段時間,看看數據是否仍然在電線上;從this page,我們讀到

仍有可能在傳出的網絡緩衝區中的可用數據 後您關閉套接字。如果您想指定套接字在關閉後嘗試傳輸未發送數據的時間量,請創建 一個啓用參數設置爲true的LingerOption,並將秒數 參數設置爲所需的時間量。 seconds參數是 ,用於指示在超時之前連接Socket保持連接 多久。如果您不希望套接字在關閉後連接任意時間長度,請創建一個啓用參數設置爲false的LingerOption 。在這種情況下,Socket將立即關閉 ,任何未發送的數據都將丟失。一旦創建,將 LingerOption傳遞給Socket.SetSocketOption方法。如果您是 與TcpClient發送和接收數據,然後將 LingerOption傳遞給TcpClient.LingerState方法。

+0

插座保持打開的時間謝謝你。設置Linger有什麼用處? –

+0

我編輯答案與我發現有關連接 – samy

+0

的回答選項可用於「跳過」TCP連接上的TIME-WAIT狀態。雖然可以跳過這個狀態,但要注意跳過的後果!我們發現在與HTTP/1.0服務器(很多)通信時,逗留選項非常有用。 – Chris

1

生存時間是設備(跳)網絡分組可以交叉的數量(如路由器,交換機等)保持活動的時間當沒有數據正被髮送或接收的

+0

謝謝你。設置Linger有什麼用處? –