2012-01-06 11 views
5

pubsubまたはmultiuserchatが行く方法がわからないのですか?私は、私は必要だと思う何XMPP:pubsubに双方向性を追加していますか?

はpubsubにあるが、同様に飼料にメッセージをブロードキャストする加入者のための追加能力を持ちます。もしそうなら、双方向の情報フロー。

使用する場合は、加入者が平均1000種類のフィード上に加入されるようなものであるが、個々のフィードは1週間に1回平均で情報を放送します。だから、多くの飼料が、それぞれの活動は低いです。しかし、b/cには1000種類のアクティブなサブスクリプションがあり、サブスクライバには1日に100メッセージが通知されることがあり、それらのフィードのいずれかに投稿コンテンツを「返信」できる必要があります。

それは私がのpubsub/multiuserchatハイブリッドで必要なもののように思えます。しかし、それは存在しない、またはそれはありますか?任意のアイデアやポインター?

ありがとうございました!

答えて

6

サブスクライバがデータをパブリッシュする場合、サブスクライバは単なるサブスクライバではなく、パブリッシャです。そして同じエンティティが同時に出版社と加入者になることはできません。

MUC対のpubsubについてのあなたの、より一般的な質問については、それは私が、最近多くのことをアップします見つける質問です。一見MUCとのpubsubで明らかに

は、彼らは両方のグループに放送については、非常によく似ています。多くのアプリケーションで、問題なく簡単にどちらか一方を使用できます。

はのは、2つのプロトコルの違いの一部を通過させ、あなたのアプリケーションで最高のフィットするかを決定するのに役立ちます。

MUC:

  1. が相互に通信オンラインユーザーの標準チャットルームのために絶対に良いです。これがあなたがやっていることなら、それを使ってください。
  2. 存在を含む、すなわち、参加、離脱、ステータスの変更について他の占有者に通知します。
  3. 居住者間の匿名のプライベート通信を許可します。
  4. 実質的に任意の標準XMPPクライアント(標準のチャットメッセージ用)を使用してすぐに使用できます。
  5. ユーザーがオフラインになったり切断されたりすると、自動的に部屋が退去します。
  6. カスタムペイロードのメッセージがサポートされています。つまり、標準チャットメッセージのルーティングに限定されています。

のPubSub:

  1. つまたは複数の読み取り専用の加入者に送信するいくつかの出版社がコアのpubsubの領土です。 MUCとは対照的に、サブスクライバはパブリッシュされておらず、他のサブスクライバに関する情報も受信していません。
  2. サーバーの実装では、pubsubのアクセス制御をはるかに柔軟にする傾向があります。
  3. カスタムペイロードのみ、標準チャットメッセージはありません。
  4. オプションで完全な項目永続性があります。
  5. ノードは、単純なブロードキャストではなく、アイテムのリスト(つまり、通知付きの追加/削除)として管理できます。
  6. サブスクリプションはオフラインで存続することができます。

上記ポイントがちょうどガイドです。多くの場合、通常はサーバー構成を使用して実現できます。一例として、MUC仕様は、構成に基づいて特定のクラスの占有者のプレゼンスブロードキャストを保留する部屋を可能にする。ここでのキャッチは実装です...これはMUCの珍しい使い方であるため、多くのMUC実装ではサポートされていないかもしれません。重要なのは、MUCがチャット用に設計されたもので、一般的なpubsubではなく、MUCの実装やツールがその種類の使い方に集中することです。

2

問題の内容が不明です。加入者は出版社である必要があります。 (ノードがそれを禁止するように設定されていない限り)パブリッシュからサブスクライブすることを止めるものは何もありません。

これは非常に典型的なpubsubケースのようです。

+0

こんにちはRobinと@MattJ、どのように私は各サブスクライバもパブリッシャになることを許可しますか教えていただけますか?私は pubsub標準の文書を読んでいますが、まだそれほど明確ではありません。ノードがすでに存在し、新規ユーザーがサブスクライブする場合、パブリッシュ権限を与えるには、IQまたはconfigオプションを送信する必要がありますか? – user798719

+0

私はこのコメントを逃した。すべてのサブスクライバが実際にパブリッシュできるようにするには、pubsubサービスにこれを指定することが理想的です。すべてのJIDにパブリッシュできるようにします。アフィリエイト[1]に関するXEPのセクションを参照し、XMPPを介してそれらを制御したい場合は、それらを管理してください[2]。 [1]:http://xmpp.org/extensions/xep-0060.html#affiliations [2]:http://xmpp.org/extensions/xep-0060.html#owner-affiliations – MattJ

関連する問題