XMPP 中的“优先级”和“资源”是什么?

Meg*_*r83 10 jabber protocol xmpp

我不知道这些是不是英文名字,但西班牙文是“Prioridad”和“Recurso”。当我想配置 XMPP 客户端时,我会看到这一点。在“优先级”中,我看到我必须输入一个数字,我想(我不确定)消息将在具有最高数字的帐户中获得,还是相反?在“资源”中我没有理论,例如当我在 Thunderbird 上配置我的 Jabber 帐户时,默认情况下资源是“Thunderbird”,当它在 ChatSecure 上时,资源是“ChatSecure-12345678”[1 ] 我没有在网上找到任何关于这个的文档。我在哪里可以阅读有关此内容的信息?

[1] "12345678" 是一组随机的数字和字母,始终为 8,它们与其他帐户不同(这只发生在ChatSecure 中

uno*_*nor 10

当您与多个客户端(具有相同的 JID)在线时,优先级和资源是相关的。

假设您的 JID 是,alice@example.net并且您与两个客户端在线:

  • 客户端 1
    优先级:5
    资源:home

  • 客户端 2
    优先级:7
    资源:mobile

如果有人向 发送消息alice@example.net/home
您将在客户端 1 上收到该消息。

如果有人向 发送消息alice@example.net/mobile
您将在客户端 2 上收到该消息。

如果有人向 发送消息alice@example.net
您将在客户端 2 上收到它,因为它具有更高的优先级。

tl; dr:资源允许发件人识别/定位特定客户端,并且优先级决定在发件人不针对特定资源的情况下将使用哪个客户端。


优先级可以从-128127。如果您设置了一个负优先级(例如,-1),则该客户端将永远不会收到消息,除非发件人明确将其发送到该客户端的资源。如果客户端具有相同的正优先级,则所有客户端都应该收到消息。

一些客户端将随机字符串附加到资源(可能是 ChatSecure 所做的)以使完整的 JID 不可预测,这可能与安全原因相关