2010-12-16 163 views
0

我有一個Web應用程序,在向服務器發出HTTP請求後,客戶端完全收到響應之前,客戶端退出(或網絡連接中斷)。HTTP服務器檢測到來自HTTP客戶端的斷開網絡連接

在這種情況下,應用程序的服務器端需要做一些清理工作。 HTTP協議中是否有內置的方法來檢測這種情況。服務器如何知道客戶端是否仍在等待響應或退出?

感謝 維賈伊·庫馬爾

回答

0

你可能有一個網絡問題...... usualy,當你發送一個HTTP請求到服務器,首先您發送標題,然後POST(加的內容,如果它是一個後方法)。同樣,服務器響應標題和文檔正文。標題中的第一行是狀態。通常情況下,狀態200是成功狀態,如果你知道了,那麼獲取文檔的其餘部分應該沒有問題。請查看HTTP響應狀態頁眉的詳細信息http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html

LE: 對不起,您有錯過您的問題。基本上,當用戶斷開連接時,你沒有觸發器。如果你使用OOP,你可以使用類的析構函數來清理你需要清理的任何東西。

0

不,沒有什麼內置的協議來做到這一點(畢竟,你不能分辨出響應是否已經被客戶端自己收到,或者只是一個下游代理)。

只要你的客戶發出第二個請求,確認它已收到並存儲了原始響應。如果您沒有及時發現問題,請執行清理。

但是,請確保您瞭解Two Generals' Problem的含義。

相關問題