客戶端建立到服務器進程的連接。服務器如何知道客戶端仍然連接?服務器如何知道客戶端仍然連接?
例如,服務器是Web服務器,客戶端是瀏覽器。假設需求是服務器應該總是想知道客戶端已連接。
這是如何實施/設計的?
客戶端建立到服務器進程的連接。服務器如何知道客戶端仍然連接?服務器如何知道客戶端仍然連接?
例如,服務器是Web服務器,客戶端是瀏覽器。假設需求是服務器應該總是想知道客戶端已連接。
這是如何實施/設計的?
HTTP Sessions可以提供幫助。
我假設你在談論套接字。
服務器將知道客戶端仍然連接,因爲當客戶端斷開連接時,連接將被拆除。服務器將被通知這是TCP的正常工作的一部分,因此關聯的套接字將被標記爲不再與連接相關聯。
當服務器進程從這個套接字讀取或寫入時,他們會被告知連接不再存在。
假設正在使用TCP,當另一方斷開連接時,將在套接字上讀取零字節。這表示連接已關閉。
如果服務器在連接關閉時將數據寫入套接字,它還會收到關於連接已關閉的通知,但是在實現中確切地說明了此通知的用法。