2011-02-02 34 views
4

比方說,我正在使用Ajax更新頁面上的一些數據。我需要在定時器上調用它,所以如果用戶坐在頁面上,它將不斷更新。在沒有運行客戶端的CPU使用率或以其他明顯的方式阻礙他們的情況下,嘗試維護「實時」感覺的合理比率是多少?我可以用AJAX輪詢多快?

+0

我會說這個問題不是客戶端CPU,它是來自服務器上所有客戶端輪詢的組合負載。 – AndreasKnudsen 2011-02-02 12:53:28

回答

2

如果你真的想保持這個水平的實時感覺,我強烈建議你看看Comet。彗星 - 也被稱爲反向Ajax - 涉及客戶端JavaScript打開與服務器的連接,服務器保持該連接處於打開狀態,直到它準備向客戶端發送響應/更新。

這在實時聊天應用中有很多用處,並且有Chat Demos和其他Comet Demos這些表示這個概念。

如果您經常在大約10秒鐘內進行輪詢,您將浪費帶寬和CPU週期。打開和關閉連接的開銷以及服務器上的負載將非常緊張。

+0

是的,我想另一個問題可能是投票vs慧星vs websockets的優點或價值。 – 2011-02-02 14:55:55