web-dev-qa-db-ja.com

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

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

[1]「12345678」は数字と文字のランダムなセットであり、常に8であり、他のアカウントとは異なります(これは ChatSecure でのみ発生します)

10
Megver83

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

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

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

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

誰かが[email protected]/homeにメッセージを送信した場合、
クライアント1で受け取ります。

誰かが[email protected]/mobileにメッセージを送信した場合、
クライアント2で受け取ります。

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

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


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

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

10
unor