2008-10-09 71 views
5

我正在嘗試爲GWT應用程序創建一個記錄器,作爲評估GWT的練習。我特別想要做的是讓我可以在服務器端的任何位置將消息發佈到客戶端標籤。所以,如果服務器上發生了一些有趣的事情,客戶端可以更新。GWT中的客戶端回調

我的第一個問題是,這是可能的,我可以理解它不是。第二,如果可能的話,我應該在哪裏尋找信息,我已經試過谷歌和他們的文檔,所有的展櫃都沒有。

謝謝

回答

9

好吧,有幾個選項。您需要從服務器獲取數據...因此您需要輪詢服務器,或者使用服務器推送。

輪詢很簡單。只需使用Timer類來重複調用服務即可查看應該顯示的值。

服務器推送使用類似彗星的東西。 here是gwt的一個實現,看起來有點有前途。它們背後的基本概念是瀏覽器向服務器發送一個請求,並保持連接打開,以便服務器可以自由地繼續發送數據。

彗星是更好的選擇,如果你能得到它的工作。它可能會更簡單,規模更好。

祝你好運!

+0

我不確定推式模型會比「民意調查模型」更好地「擴展」。你正在捆綁服務器資源,以便在客戶端稍微懶散。 GWT的主要優勢在於爲客戶端提供了更多的工作,以便服務器可以更輕鬆地處理大量的用戶。我會建議切換到投票與推模式。 – Kieveli 2010-12-21 13:29:33

+0

這取決於你的確切情況。如果您要將很多數據很頻繁地傳輸給很多客戶端,那麼類似大氣層的內容可能會節省您不斷重新談判這些連接的時間。 – 2011-02-04 21:21:36

2

輪詢可能是您尋找的最佳方式。 GWT的大問題在於,一切都必須是可序列化的。我不確定是否有任何可以推送到瀏覽器的內容可以輕鬆地序列化。