8

コメットとAPEについて少し読んだことがあります。

どちらの方がよいですか?他のユーザーが更新したコンテンツをユーザーに見てもらいたい。Google Wave のように。

そしてコメットには、iframe と従来の ajax の 2 つのバージョンがあります。何が違い、どちらが優れているか。よくわかりません。

ありがとう。

4

8 に答える 8

16

Comet は、リアルタイム アプリケーションの開発に役立つ一連の手法です。ストリーミングとロング ポーリングの 2 つの主要な実装があります。

通常の http リクエストでは、ユーザーはリクエストをサーバーに送信し、データ (html、スクリプトなど) を受信して​​接続を閉じます - 話の終わり。ストリーミングでは、クライアントまたはサーバーによって接続が閉じられることはなく、両方の当事者が共有する単一の接続があります。

ロング ポーリングでは、応答を待機する繰り返し接続があります。基本的に、ブラウザはサーバーにリクエストを送信し、サーバーが応答するまでそこに座って待機します (サーバーは、クライアントの新しいデータがある場合にのみ応答します)。その後、接続が閉じられ、接続を再開するのはブラウザ次第です。サイクルが繰り返されます:) 2つのうち、これが最もよく使用されます。

通常、ブラウザーの Comet には、存続期間の長い多数の HTTP 接続用に最適化された Web サーバーと、Comet サーバーと通信するための JavaScript クライアントが必要です。したがって、Ape はインストール可能なサーバーであり、Comet はそのベースとなるパラダイムです。ここに彗星の実装のリストがあります: http://cometdaily.com/maturity.html

于 2010-03-18T06:30:07.243 に答える
7

コメット=「リバースアヤックス」または「ロングポーリング」とも呼ばれるテクノロジーの傘用語

APE=コメットテクノロジーの実装。

APEがモデルであるのに対し、Cometは特定の車種であると考えることができます。

参照:

http://en.wikipedia.org/wiki/Comet_%28programming%29

http://www.ape-project.org/ajax-push.html

于 2010-01-30T14:00:04.753 に答える
3

コメットはテクノロジーであり、APEは多くの実装の1つです。iframeと従来のajaxはどうですか?HTML5 WebSocketは、使用できる場所ならどこでも使用できます。

現在、すべての最新のブラウザーは、ajaxリクエスト(クライアントからサーバー、バックアンドエンド)にXMLHttpRequestを使用しています。しかし、JSアプリケーションがiframeを介してファイルを送信することもあります。XMLHttpRequestsのすべての実装がマルチパートデータトランスポート(Chromeおよび最新のFF afaik)をサポートしているわけではありません。WebSocketは、Cometのようなテクノロジー(クライアントが1つの接続のみを開き、Webサーバーが開いたストリームまたはWebSocketを介してクライアントにデータをプッシュする場合)用に特別に作成されたため、可能であればそれを使用してください。

ところで、Comet-stream(またはチャネル)には独立したWebサーバーを使用することをお勧めします。

PS私はAPEが好きです。

于 2011-06-07T17:39:23.280 に答える
2

超高速のリアルタイム ドキュメント共有ツールである Etherpad.com は、comet を使用して、他の編集者からのコラボレーションのほぼリアルタイムの画面更新を提供しました。etherpad (AppJet) を製造している会社が、Google Wave に取り組むために Google に買収されました

http://etherpad.com/ep/about/faqをご覧ください

http://code.google.com/p/etherpad/ (オープン ソースの etherpad) で実装を確認できます。

私がコメットに投票する理由は、etherpad の商業的成功とコメットを使用した Google Wave の実装のおかげです。

于 2010-01-02T13:04:57.313 に答える
2

WebSocketsをご覧ください。Chrome と新しい Firefox はすでにサポートしています。他のブラウザーで本当に必要な場合は、comet にフォールバックできます。

于 2010-01-03T18:57:40.357 に答える
1

APE はコメットの実装です。パブリッシュ/サブスクライブ メッセージング システムを実装するために、ノンブロッキング IO サーバーと JS クライアント ライブラリを提供します。

APE サーバー自体は、サーバー側の JavaScript を使用してプログラムできます。PHP/Ruby/whatever などのサーバー側コードは、APE サーバーに「コマンド」を発行することにより、APE を介してデータをブロードキャストできます。

接続されたクライアントは、'Raws' をリッスンしてこのデータを受け取ります。これは、APE サーバーからクライアントに送信されるイベントとデータです。

于 2011-04-13T14:45:17.490 に答える
1

IFrame ベースの手法と Ajax (XMLHttp) ベースの手法を比較したいと思います。

主な違いは、ブラウザーが応答全体を受信するまで、AJAX 要求の応答コンテンツを読み取ることができないことだと思います。つまり、ストリーミングをシミュレートするには、次のようにする必要があります。

  1. サーバーにリクエストを送信する
  2. 応答を取得したら、応答を読み取り、別の要求を行います

返すものが何もない場合、サーバーはリクエストを保留できます。

一方、IFrame ベースのソリューションはscript、1 つのリクエストに対して複数のタグを返すことができます。(ブラウザーまたはサーバーの) 要求タイムアウトが発生するまで、別の要求を送信する必要はありません。

于 2010-09-15T13:47:46.910 に答える
1

APE は単に Comet の実装ではありませんか? 商品ページにそう書いてあります。

于 2010-01-02T16:51:25.547 に答える