0

Prosody で XMPP サーバーを実行しています。一部のユーザーは、2 つのクライアント (会話と Gajim など) に接続し、マルチ ユーザー チャットに参加すると、2 回表示されます。これは本当にいらいらさせられます。たとえば、言及したユーザー名によっては、通知がデスクトップまたはモバイルデバイスにのみ表示されます.

この動作を再現できません。2 台のデバイスでチャットに参加しても、1 人しか表示されません。これは正しい行動だと思います。人が複数回表示されるのを防ぐためにできることはありますか?

4

1 に答える 1

2

Prosody の「マルチセッション ニック」機能は、同じ XMPP アカウント (裸の JID) を使用する複数のデバイス (XMPP リソース) がルームで同じニックネームを使用しようとすると、マージが発生するように機能します (つまり、そのニックは複数のアカウント セッション)。私は Prosody の作成者の 1 人であり、この機能の作成者です。

あなたが説明している問題は、これらのユーザーの複数のデバイスが同じニックネームを使用していないか (Sam Whited のコメントが示唆しているように)、別の XMPP アカウントを使用しているためです。ニックネームはルーム内で常に一意であり、定義上、同じニックネームが 2 回出現することはありません。

ニックネームは大文字と小文字が区別され ("User" は "user" とは異なります)、まったく同じニックネームが 2 回表示されているユーザーでも、多少の違いがある可能性があります (たとえば、ニックネームの末尾にスペースが追加されている場合や、非常によく似ているが異なる Unicode 文字を使用している可能性があります)。

最も簡単な解決策は、これらのユーザーにニックネームを同じものに変更するよう依頼することです。別の解決策は、Prosody プラグインを作成してニックネーム ポリシーを強制することです (サーバー管理者であると仮定します)。

于 2016-12-11T01:01:46.027 に答える