2011-05-25 87 views
3

我們有一個瀏覽器應用(SaaS)的,我們想通知用戶在互聯網連接或服務器連接丟失的情況下。 Gmail做得非常好,當我拔掉互聯網電纜或禁用網絡流量時,立即表示無法訪問服務器,併爲我重新計數。如何Gmail瀏覽器客戶端檢測網絡/服務器斷開連接(速度和可擴展性)

什麼是實現這樣的事情的最好方法?我希望客戶端瀏覽器每隔一秒嚮應用程序服務器發出AJAX請求,還是讓一個單獨的服務器只返回「活着」。可擴展性將成爲一個問題。

回答

0

因爲Gmail已經檢查新郵件每隔幾秒鐘和聊天信息更加頻繁,可以說沒有一個單獨的請求,如果連接了下來。如果你不使用Ajax進行其他類型的常量更新,那麼是的,你只需讓服務器回覆某種「活躍」信號。請注意,由於Ajax跨域限制,您無法使用單獨的服務器。

0

隨着服務器向客戶端報告(通過彗星推),你必須保持爲每個客戶端的開放連接。如果您擁有大量客戶端,這可能非常昂貴。正如你所提到的,可伸縮性可能是一個問題。另一種選擇是輪詢。而不是每秒都做,你可以每隔5-10秒進行一次輪詢。

您可以看到的其他東西是Web Sockets(作爲HTML 5的一部分開發),但我不確定它是否得到廣泛支持(僅支持AFAIK)。

相關問題