2009-05-21 1 views
6

私は、クライアントに何も起こらなかったことを伝える前に、新しいイベントが発生するまでの一定の最大時間をサーバが待機する長いリクエストで、より単純なポーリングでCOMET /プッシュテクノロジを使用することに本当の利点があるかどうか疑問に思ってきました。長いリクエストポーリングに対するCOMETの利点?

どちらのテクノロジもクライアントの待ち時間が似ていますが、新しい接続を確立する必要があるため長いリクエストが悪いという共通の知見がありますが、HTTPキープアライブがあるという事実もあります。非常に類似した量のトラフィック/負荷を生成する。

COMETを使用すると、いくつかの明確な利点がありますか?

+0

私は見ることができません...(/私は彗星ファンボイのようなものがあるのか​​疑問に思う) – annakata

+0

@annakata最近/ – Pacerier

答えて

12

AFAIKは長いリクエストでポーリングしています。短いリクエストによるポーリングはできません。

+4

ビンゴ。その違いは、要求を長時間にわたって開いていることです。これはサーバーで効率的に処理するのは難しい作業です。もしあなたがそれを持っていれば、本質的に彗星を持っています。 – jvenema

0

私は考えることができるいくつかの利点:

  • は、クライアントのプログラミングが容易になります。
  • リアルイベントとクライアントに到達する通知との間の最小待ち時間。ポーリングでは、[POLL TIME]/2の平均時間と[POLL TIME]の最悪の時間があります。
  • サーバーで必要なリソースを最小限に抑えることができます。たとえばarticleを参照してください。このためには、新しいサーバーテクノロジーを使用する必要があります。
+1

あなたが記述するレイテンシーは、長い要求を伴う「短い要求」でのものです。サーバーは、イベントが存在するか、最大タイムアウトに達するまで(接続タイムアウトを防ぐため)、応答を遅らせます。つまり、1分ごとに1つの要求を行う必要がありますが、サーバー上のイベントによって次の応答がトリガーされるため、待ち時間はほとんどありません。 クライアントはあまり複雑ではありません。クライアントは単一のイベントURIを要求し、応答を取得するとすぐに再要求します。 – fforw

関連する問題