2011-08-27 67 views
1

目前我在做一個留言頁面。它允許用戶評論某些項目。假設用戶A發表評論。怎樣才能讓新帖子自動顯示在用戶B瀏覽器的頁面上?我能夠在userA瀏覽器上顯示帖子,但是如何做到讓userB瀏覽器也會自動更新以顯示新帖子?JSP數據顯示自動更新

回答

2

您正在尋找反向AJAX(又名Comet)。

更新:

後你學習的基礎知識,我建議你Atmosphere交付的實際執行情況。另外,如果你可以選擇你的容器,我會去JettyGlassFish

+0

不知道任何感謝的例子嗎? – user236501

+1

Google Mojo:http://java.dzone.com/articles/using-atmospheres-jquery-plug。彗星不是你可以從一個stackoverflow帖子學到的東西。花點時間學習和學習所涉及的技術,並在您有更具體的問題時隨時提問。 –

2

如果你編碼某種即時通訊,那裏應該是帖子及其在用戶B的網頁外觀之間一個非常小的延遲,然後看彗星,安東尼的建議的。

否則,實現此目的的最簡單方法是定期(每2,3,5,10分鐘:您決定什麼是可接受的)在userB上使用AJAX請求輪詢服務器以查找新消息。儘管如此,請確保不要佔用您的整個帶寬。

+0

是的。一個AJAX請求,甚至像[元刷新](http://en.wikipedia.org/wiki/Meta_refresh)等更老的學校。但是,再次,採取@JB的建議,這可能會消耗大量的帶寬。 –

+0

如果是拍賣網站?如何反映數據? – user236501

+0

它取決於您(和用戶)擁有的帶寬,併發用戶的數量以及可接受的延遲。沒有明確的答案。看看最適合你的情況。 –

0

而不是使用彗星,只要保持一個jQuery計時器和輪詢您的新的更新服務器。

這裏是你應該怎麼查詢。

0. Assume each message posted has a unique incremental rownumber. 
1. pass your client page's last displayed row number. 
2. check if there are any rows greater than the rownumber you passed. 
3. if more,return all those rows to the client. 
4. do all the above things using ajax,preferably in jquery.