2011-03-17 174 views
1

客戶端建立到服務器進程的連接。服務器如何知道客戶端仍然連接?服務器如何知道客戶端仍然連接?

例如,服務器是Web服務器,客戶端是瀏覽器。假設需求是服務器應該總是想知道客戶端已連接。

這是如何實施/設計的?

回答

0

我假設你在談論套接字。

服務器將知道客戶端仍然連接,因爲當客戶端斷開連接時,連接將被拆除。服務器將被通知這是TCP的正常工作的一部分,因此關聯的套接字將被標記爲不再與連接相關聯。

當服務器進程從這個套接字讀取或寫入時,他們會被告知連接不再存在。

0

假設正在使用TCP,當另一方斷開連接時,將在套接字上讀取零字節。這表示連接已關閉。

如果服務器在連接關閉時將數據寫入套接字,它還會收到關於連接已關閉的通知,但是在實現中確切地說明了此通知的用法。

相關問題