2013-06-18 106 views
0

我有一個使用長輪詢等待服務器完成處理某些數據的網站。但是,可能會發生超時或用戶可能會關閉瀏覽器,但服務器正在不斷處理其數據。
我希望服務器在長輪詢連接斷開後立即停止處理數據。有沒有客戶誰將收到的數據,所以沒有用這個漫長的過程繼續運行... 如何做到這一點?檢測到瀏覽器客戶端的連接是否中斷

服務器正在將文件添加到一個ZIP壓縮文件,這需要一些時間,因爲這些都是合理的大文件。一旦完成,它會發送最終的ZIP文件並關閉連接。但如果客戶端在任務完成之前斷開連接,服務器應該停止它的工作並再次丟棄所有內容...

回答

3

您應該考慮使用他的SignalR框架。它提供了非常舒適的事件,如OnConnect()OnDisconnect()。根據其工作原理與

  • 的WebSockets引擎蓋
  • 服務器發送活動
  • 永遠幀
  • 長輪詢

它使用任何可用給定的環境中,開始使用WebSockets。

+1

是的。只有HTML5是必需的,而且幾位用戶仍然使用舊版瀏覽器。 –

相關問題