2013-04-30 68 views
0

我在編程一個應用程序,它將顯示團隊的結果。我想在有目標時通知用戶。要做到這一點,我創建了一個服務,我將每分鐘拿到一個字符串並將其放入一個字符串中,如果它發生更改,我會創建一個通知。我的問題是:每30秒重複一次的最佳方式是什麼?每x秒檢查一次html頁面

感謝的和對不起我的英文不好

+0

Google for * polling *。 – skuntsel 2013-04-30 07:52:25

回答

0

你可以這樣做:如果有什麼改變

  • 檢查(是 - 發送新信息,不 - 什麼都不做)
  • 睡眠30秒(Thread.sleep(30000)
  • 重複
2

那麼,如果你想要做的每x秒一個電話,將需要ajax的setTimeout(not setInterval)。如果你打算這樣做,最好每次往回發送一些數據到數據庫以確保你的查詢不是很大,並搜索整個數據庫表。

例如,您可能會在每次往返中發回最新的時間戳。然後讓後端查詢檢查有多少行比那個時間戳大,並向用戶顯示計數。因此,如果有一行,請向用戶顯示1 new row。當他們點擊它查詢內容。對於高影響的活動,這應該是一個低影響的查詢(池化將是更好的選擇)。祝你好運。

PS:如果你想變得花哨,並且今晚真的學到了一些東西,我會對asynchronous servlets做一些研究,而不是像另一張建議的海報那樣彙集。這會讓你把兔子洞弄到一些非常甜蜜的東西。