1

私はしばらくの間 ejabberd を使用してきましたが、最近の問題と要件のために、何かに興味があります。

2 人のユーザーがいる MUC ルームを作成した場合、通常の 1 対 1 のチャット メッセージングとは異なりますか (パフォーマンスに関して)?

すべての 1to1 チャットで常に MUC を使用するとどうなりますか?

パフォーマンスのオーバーヘッドや欠点はありますか?

私の接続はパフォーマンスの低下に悩まされていますか? また、これは通常、より多くのリソースを消費したり、何らかの制限やペナルティを課したりしますか?

どんな助けや洞察も大歓迎です。

4

2 に答える 2

3

ejabberd が XMPP をどのように実装しているかはわかりませんが、プロトコルの観点からは次のようになります。

  1. 「通常の」1 対 1 のチャットはステートレスなサーバー側です。すべてのコンテキスト (メッセージ履歴など) はクライアントによって維持されます。サーバーはメッセージをやり取りするだけです。一方、マルチユーザー チャットはサーバーによって維持されます。リソース (参加者リスト、ルーム設定、メッセージ履歴) はどこかに保存する必要があり、その責任はサーバーにあります。

  2. 1 対 1 のメッセージは「アドホック」です。一方の当事者がチャットしたい場合、受信者にメッセージを送信するだけです。一方、MUC は、会話を開始する前に作成および構成する必要があり、会話を開始する前に相手を MUC ルームに招待する必要があります。これにより、複雑さや時間がかかります。

  3. マルチ ユーザー チャットはより多くの機能を提供しますが、1 対 1 の会話のコンテキストで意味があるかどうかは議論の余地があります (たとえば、誰かを会話から追い出すことは理にかなっていますか?)。一方で、チャットルームを見つけられないように (会話のリストを表示できない)、第三者が参加できないように (招待されていない限り)、ユーザーが自由にニックネームを変更できないように、チャットルームを適切に構成する必要があります。

于 2015-04-15T07:51:18.590 に答える