2011-02-02 4 views
4

Ajaxを使用してページの一部のデータを更新しています。私はタイマーでそれを呼び出す必要がありますので、ユーザーがページに座っている場合、更新を続けます。クライアントのCPU使用率を上げたり、他の顕著な方法でそれらを妨げたりすることなく「リアルタイム」な感じを試して維持するためにポーリングする合理的なレートは何ですか?AJAXでどのくらい速く投票できますか?

+0

問題はクライアントCPUではなく、サーバー上でポーリングするすべてのクライアントからの合計負荷です。 – AndreasKnudsen

答えて

2

本当にそのレベルのリアルタイム感を維持したい場合は、Cometを調べることを強くお勧めします。 Comet - 逆Ajaxとも呼ばれる - クライアントJavaScriptは、サーバーとサーバーへの接続を開き、クライアントに応答/更新を送信する準備ができるまでその接続を開いたままにします。

これは、ライブチャットアプリケーションでは多く使用されており、その概念を示すChat Demosとその他のComet Demosがあります。

約10秒以上ポーリングすると、帯域幅とCPUサイクルが無駄になります。接続のオープンとクローズのオーバーヘッドとサーバー上の負荷は激しくなります。

+0

ええ、私は別の質問がメーリングリストかメーリングリストかメーリングリスト対ウェブソケットの価値かと思います。 –

+0

@ライアン - 彗星はもっと主流ですが、ハックジョムです。 Jetty Web ServerとDojo Cometdではうまく機能します。 WebSocketは私が知っているChromeでのみ利用可能です。 – jmort253

関連する問題