2010-10-30 23 views

回答

5

我用JavaScript定時器執行了幾毫秒,每次定時器執行的功能用Ajax查詢服務器並返回值(可能是JSON格式),然後你使用該值更新字段。我每5秒完成一次,並且完美運作。在ASP.NET中,我認爲它叫做Ajax Timer Control。

+0

非常感謝。 – Erik 2010-10-31 00:55:31

+19

這個答案的問題是每個連接的客戶端都在不斷地敲擊你的服務器,即使數據沒有改變! .. – 2011-09-23 21:44:44

0

有這樣做需要做兩兩件事:上瀏覽器中運行,以獲取最新的數據

  1. 代碼。這可能是Javascript或某個插件(如Silverlight或Flash)中運行的東西。這將需要定期從服務器請求更新的內容。

導致需要......在服務器上運行,以檢索並返回(從數據庫)的最新數據

  1. 代碼。這可以使用任何服務器端腳本語言來創建。
9

有兩種方法:

輪詢

客戶端請求定期的數據。即使沒有數據,也可以使用網絡和服務器資源。數據不是很「活」。非常容易實現,但不可擴展。

服務器將數據發送到客戶端,所以客戶端可以簡單地等待它的到來,而不是定期檢查的。 這可以通過套接字連接來實現(因爲您正在討論網頁,除非您使用Flash,否則這並不適用,因爲瀏覽器中瀏覽器的套接字支持目前尚不成熟),或者通過使用該技術被稱爲「彗星」。

如果服務器端是天真地實現的,則套接字連接和慧星都不是特別可擴展的。

- 要大規模地處理實時數據(不需要購買硬件),您將需要不爲每個客戶端使用線程的服務器軟件。