2011-11-04 55 views
1

在我們的項目中,我們的服務器必須儘快知道客戶端是否斷開連接。如何識別GWT中斷開連接的客戶端?

有沒有一種有效的方法來實現這個?也許與GWTEventService或強大的框架?

+0

你在說什麼「客戶」? –

+0

@BrianRoach我談論一個瀏覽器。服務器如何識別,如果browsertab關閉(沒有從用戶註銷),我想實現聊天。如果選項卡關閉,則服務器必須從聊天列表中刪除用戶會話。我知道輪詢,但它非常醜陋..(所以客戶端發送例如每30秒一個「保持活着」的服務器) –

+1

我建議看看http://code.google.com/p/gwt - 彗星/ - 彗星幾乎是實施你所談論的事實標準 –

回答

2

您有幾種選擇:

  • 您可以檢查出彗星。彗星是爲這種行爲而設計的,您希望在沒有客戶端明確請求的情況下將數據推送到客戶端。查看關於Comet的Wikipedia's article以獲取更多信息。這裏有一個GWT實現:gwt-comet

  • 替代品:您可以使用類似Spring Framework的東西來保持您的客戶標籤。您也可以實施心跳式方法,在這種方式下,您強制客戶端每隔X秒擊中給定頁面,以便知道它們仍處於連接狀態。

老實說,有無數的方法來做你在這裏找的東西。如果你不介意實施整個框架,我會說彗星會是你最好的選擇。

+0

謝謝你,我試驗了一點彗星。但對於這個項目中的其他功能,我使用GWTEventService ...所以我有這個問題來決定(彗星或GWTEventService) –

相關問題