XMPP の「優先度」と「リソース」とは何ですか?

XMPP の「優先度」と「リソース」とは何ですか?

英語での名前かどうかはわかりませんが、スペイン語では「Prioridad」と「Recurso」です。XMPP クライアントを構成するときにこれを見ます。「Priority」には数字を入力する必要があるようですが、数字に応じてメッセージは最も高い数字のアカウントに届くと思います (確信はありません)。それともその逆でしょうか。また、「Resource」については、理論がありません。たとえば、Thunderbird で Jabber アカウントを構成する場合、デフォルトではリソースは「Thunderbird」ですが、ChatSecure の場合はリソースは「ChatSecure-12345678」です[1]。これに関するドキュメントは Web で見つかりませんでした。これについてどこで読めますか?

[1] 「12345678」はランダムな数字と文字の集合で、常に8個あり、他のアカウントとは異なります(これは、チャットセキュア

答え1

優先度とリソースは、複数のクライアント (同じ JID を持つ) がオンラインになっている場合に関係します。

JID が[email protected]で、2 つのクライアントがオンラインであるとします。

  • クライアント 1
    優先度:5
    リソース:home

  • クライアント2
    優先度:7
    リソース:mobile

誰かが にメッセージを送信すると[email protected]/home
クライアント 1 で受信されます。

誰かが にメッセージを送信すると[email protected]/mobile
クライアント 2 で受信されます。

誰かが にメッセージを送信した場合[email protected]
クライアント 2 の方が優先度が高いため、そのメッセージはクライアント 2 で受信されます。

要約:リソースにより、送信者は特定のクライアントを識別/ターゲットにすることができ、優先度により、送信者が特定のリソースをターゲットにしていない場合に使用されるクライアントが決定されます。


優先度は から までです-128127負の優先度 ( など-1) を設定すると、送信者が明示的にそのクライアント リソースに送信しない限り、このクライアントはメッセージを受信しません。クライアントの優先度が同じ正の場合、すべてのクライアントがメッセージを受信するはずです。

一部のクライアントはリソースにランダムな文字列を追加して(おそらくChatSecureが行っているように)、完全なJIDを予測不可能にします。セキュリティ上の理由から関連する可能性がある

関連情報