2014-12-03 247 views
0

我有,其中一個Web應用程序客戶端發送一個Ajax請求的更新請求的node.js服務器,以檢查是否有針對客戶用戶的任何通知... 這個請求發生的每30秒,即使我有性能測試,我的服務器端不能真正採取它。我已經將間隔時間更新爲每2分鐘一次,但尚未刷新的客戶端仍然每30分鐘發送一次請求。我如何才能讓這些客戶按需求進行更新,並阻止他們發送這些請求?如何阻止客戶端向服務器發送ajax請求?

由於提前, 伊泰

編輯: 只是爲了讓我有沒有問題,限制了它,我已經有了。問題在於用戶不刷新頁面,因此包含該限制的客戶端代碼不會在其瀏覽器中刷新。 所以阿賈克斯與網絡插座不是真的我的問題...

+1

你需要做下一次更好地利用最後一次修改,過期和緩存控制頭。您現在可能是SOL,具體取決於現有用戶如何配置和緩存。那就是說,如果你的節點盒子不能每隔30秒處理一次請求,那麼mudville裏的東西聽起來很不對勁。 – dandavis 2014-12-03 08:55:16

+0

使用Socket進行實時更新,setInterval的將派出多要求在幾分鐘內 – 2014-12-03 08:56:06

+0

請參閱編輯澄清...... – 2014-12-03 12:33:22

回答

0

javascript的setinterval()函數可以在你的情況下非常有用。

可以通過間接地調用該函數通過的setInterval(),其經由您choice.function的特殊間隔參數配置然後將在以毫秒爲單位指定的時間間隔執行控制功能的功能執行的頻率。

可以簡單地通過調用函數通過setInterval()函數間接發送AJAX請求限制AJAX請求和限制的時間間隔爲30秒。

希望這將是有益的給你!

請發表評論以獲取更多說明。

+0

我沒有問題,限制了它,我已經有了。問題在於用戶不刷新頁面,因此包含該限制的客戶端代碼不會在其瀏覽器中刷新。 – 2014-12-03 12:07:49

+0

Okk !!所以我認爲html5 websockets是一個更好的選擇,在這種情況下,也可以在其他評論中指定。另外,請看看彗星以及我爲你準備好的文章。 http://www.pointsoftware.ch/en/websocket-versus-comet-real-time-web-applications/ – 2014-12-03 12:26:30

0

我認爲你應該使用網絡插座,您的服務器的NodeJS有與網站的持久,但光連接。

退房Socket.IO,例如:http://socket.io

相關問題