リアルタイムの更新が必要なシステムを実装しています。私は特定のシナリオを見てきましたが、その中にはコメットがありました。これを実装することで、これが従来のロングポーリングとどのように異なるかはわかりません。
どちらの場合も、リクエストを送信する必要があります。その後、サーバーはレスポンスを送り返します。ブラウザで応答を解釈してから、新しい要求を開始します。
では、どちらの場合も接続を開いたり閉じたりする必要があるのに、なぜコメットを使用する必要があるのでしょうか。
リアルタイムの更新が必要なシステムを実装しています。私は特定のシナリオを見てきましたが、その中にはコメットがありました。これを実装することで、これが従来のロングポーリングとどのように異なるかはわかりません。
どちらの場合も、リクエストを送信する必要があります。その後、サーバーはレスポンスを送り返します。ブラウザで応答を解釈してから、新しい要求を開始します。
では、どちらの場合も接続を開いたり閉じたりする必要があるのに、なぜコメットを使用する必要があるのでしょうか。
一部のCometテクニックでは、常に新しいリクエストを開く必要はありません(たとえば、チャンクされた非表示のiframe)。リクエストを開いたままにして、サーバーに定期的にデータを送信させるという考え方です。しかし、これは、(ウィキペディアの寄稿者の1人が微妙に言っているように)負の副作用がなければ、すべての主要なブラウザーでうまく機能するわけではありません。リンク先の記事で詳細をご覧ください。
Marceloが述べたように、Cometは通常、ロングポーリングを含む「HTTPストリーミング」のあらゆる手法を説明するために使用されます。場合によっては、Cometはより具体的にバイユープロトコルを参照することもあります。たとえば、jQueryCometプラグインはこのプロトコルのものです。バイユーのウェブサイトから:
サーバーからWebクライアントへの非同期メッセージの配信は、サーバープッシュと呼ばれることがよくあります。サーバープッシュ技術とAjaxWebアプリケーションの組み合わせは、Cometと呼ばれています。CometDは、いくつかのプログラミング言語でバイユープロトコルの複数の実装を提供するDojoFoundationによるプロジェクトです。
Bayeuxは、Comet技術を使用してパブリッシュ/サブスクライブプロトコルを標準化する試みであり、クライアント側とサーバー側のライブラリのベンダーが相互運用可能なコンポーネントを作成できるようにします。
コメットは、さまざまな非同期更新手法の総称であり、ロングポーリングはその1つにすぎません。
引っ張るのを押し込みたい場合は、JPEを使用できます。