8

これら2つのアプローチの違いは何ですか?素人の言葉で説明できますか?

4

2 に答える 2

6

Cometは、リアルタイム データを Web ブラウザにプッシュするためのテクノロジです。そのため、ページは継続的に更新されます。詳細については、Comet に関するこのページを参照してください。

Pub/Sub (または Publish/Subscribe) はComet と同じです。受信したいデータを Comet サーバーに伝え (Subscribe)、他のサブスクライバーにデータを送信 (Publish) する方法です。多くの Comet サーバーは、pub/sub モデルを実装しています。

StreamHub Comet Serverでの実際の例:

購読: Google に関するニュースを受け取りたい:

hub.subscribe("/news/google", function(sTopic, oData) { alert("Received news article about Google: " + oData.Article});

公開: Google に関するニュースを投稿したい:

hub.publish("/news/google", "{'Title':'Google Expanding Access To Wave Soon, First Impressions','Article':'According to Google, included in this group of early testers will be some of the businesses using Google Apps. In anticipation of this wider release, ...'}");

トピック「/news/google」を購読している人なら誰でも、私が上で公開した記事を受け取ることができます。これが pub/sub のしくみです。

于 2009-09-01T23:53:09.523 に答える
4

パブリッシュ/サブスクライブは、パブリッシャーをサブスクライバーから分離する非同期通信の手段です。パブリッシャーは、特定のサブスクライバーにメッセージを送信するのではなく、トピックに関するメッセージをパブリッシュします。サブスクライバーはトピックにサブスクライブします。特定のトピックには、多数のパブリッシャーと多数のサブスクライバーを含めることができます。

たとえば、取引システムでは、Google 株の取引が「Trade.GOOG」のトピックで公開される場合があります。購読者は、必要なトピックを聞くことで、特定の株の取引を聞くことができます。

Cometは、存続期間の長い HTTP 接続を使用したサーバー プッシュのための Web ベースの手法です。

ポーカーのウェブサイトを想像してみてください。ブラウザはサーバーに接続できますが、何かをする必要があるかどうかを確認するために数秒ごとに更新を押すのではなく、何か (レイズ、コールなど) を行う番になるまで基本的にハングします。ポーリングは、これに対する別のソリューションです。

両方の類似点は、本質的に非同期通信の手段であるということですが、それ以外は似ていません。

于 2009-09-01T13:12:13.163 に答える