2011-08-15 9 views
0

私は、私のアプリでいくつかのプッシュ技術を実装しようとしています。私はそれにnode.jsを使用するつもりですが、私はそれが私の質問に関係するとは思わない。私がやることは、基本的にはサーバーへの長いポーリングです。ノードジェクトのようなイベント駆動型の仕組みを理解しているので、サーバー側についてはあまり気にする必要はありません。ブラウザリクエストが消滅するまでの期間は?

私の唯一の心配はクライアント側です:ブラウザが応答を待つ時間はどれくらいですか?この時間が費やされる前に応答をリリースしなければならないので、長いポーリングが再ロードされるようにプログラミング上の問題です。

サイド質問:ブラウザが待機しなくなったら、リクエストにどのような回答がありますか?

答えて

0

私はこれまでのようなことをやっていますが、質問に対する答えは非常に簡単です。ブラウザに依存し、ユーザーがどのように設定したかによって異なります。

FFでは、これを制御する設定(正確には何かを忘れています)がabout:configのどこかにあります。 IEのデフォルトのタイムアウトはレジストリで制御され、hereと文書化されています。私はChromeやOperaの答えを見つけたことはありません - 私はそれが制御可能だとは思わない。 Operaはデータが約20秒間受信されなくなった後もあきらめているようですが、それもやや変化するように思われます。

ここでは、定期的にページがリロードされるように、またはAJAXを使用している場合は定期的にリクエストをキャンセルして新しいリクエストを開始するようにアーキテクチャを設計することをお勧めします。また、数秒ごとに少量のデータをブラウザに保存しておけば、Operaがあきらめるのを防ぐことができます。 javascript:void(0);イベントをプッシュするだけで、接続を維持できますが、実際にはクライアント側では何もしません。

あなたのサイドの質問に答えるには:何もありません。ブラウザは単にTCP接続を閉じ、それ以上のデータは交換されません。サーバーがこれをどのように処理するかは、もはやブラウザの懸案事項ではありません。

+0

本当に良いニュースではありませんが、おかげでたくさん:) WebSocketを今すぐに待つことができません - – Cystack

関連する問題