18

リアルタイムの更新が必要なシステムを実装しています。私は特定のシナリオを見てきましたが、その中にはコメットがありました。これを実装することで、これが従来のロングポーリングとどのように異なるかはわかりません。

どちらの場合も、リクエストを送信する必要があります。その後、サーバーはレスポンスを送り返します。ブラウザで応答を解釈してから、新しい要求を開始します。

では、どちらの場合も接続を開いたり閉じたりする必要があるのに、なぜコメットを使用する必要があるのでしょうか。

4

4 に答える 4

12

一部のCometテクニックでは、常に新しいリクエストを開く必要はありません(たとえば、チャンクされた非表示のiframe)。リクエストを開いたままにして、サーバーに定期的にデータを送信させるという考え方です。しかし、これは、(ウィキペディアの寄稿者の1人が微妙に言っているように)負の副作用がなければ、すべての主要なブラウザーでうまく機能するわけではありません。リンク先の記事で詳細をご覧ください。

于 2010-04-03T09:58:29.043 に答える
11

Marceloが述べたように、Cometは通常、ロングポーリングを含む「HTTPストリーミング」のあらゆる手法を説明するために使用されます。場合によっては、Cometはより具体的にバイユープロトコルを参照することもあります。たとえば、jQueryCometプラグインはこのプロトコルのものです。バイユーのウェブサイトから:

サーバーからWebクライアントへの非同期メッセージの配信は、サーバープッシュと呼ばれることがよくあります。サーバープッシュ技術とAjaxWebアプリケーションの組み合わせは、Cometと呼ばれています。CometDは、いくつかのプログラミング言語でバイユープロトコルの複数の実装を提供するDojoFoundationによるプロジェクトです。

Bayeuxは、Comet技術を使用してパブリッシュ/サブスクライブプロトコルを標準化する試みであり、クライアント側とサーバー側のライブラリのベンダーが相互運用可能なコンポーネントを作成できるようにします。

于 2010-04-03T10:03:44.807 に答える
7

コメットは、さまざまな非同期更新手法の総称であり、ロングポーリングはその1つにすぎません。

于 2010-04-03T09:54:57.057 に答える
0

引っ張るのを押し込みたい場合は、JPEを使用できます。

于 2010-04-03T10:27:26.593 に答える