Что такое «Приоритет» и «Ресурс» в XMPP?

2590
Megver83

Я не знаю, являются ли это имена на английском языке, но по-испански это "Prioridad" и "Recurso". Я вижу это, когда хочу настроить клиент XMPP. В «Приоритете» я вижу, что мне нужно поставить число, и я полагаю (я не уверен), что в зависимости от номера сообщения будут попадать на счет с наибольшим номером, или это наоборот? И в «Ресурсе» у меня нет теории, например, когда я настраиваю свою учетную запись Jabber в Thunderbird, по умолчанию ресурс - «Thunderbird», а когда он находится в ChatSecure, ресурс - «ChatSecure-12345678» [1 ] Я не нашел никакой документации по этому поводу в сети. Где я могу прочитать об этом?

[1] «12345678» - это случайный набор цифр и букв, которые всегда равны 8, и они отличаются от других учетных записей (это происходит только в ChatSecure )

6

1 ответ на вопрос

6
unor

Приоритет и ресурс имеют значение, когда вы подключены к сети с несколькими клиентами (с одним и тем же 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: Ресурс позволяет отправителю идентифицировать / предназначаться для определенных клиентов, и Приоритет решает, какой клиент будет использоваться в случае, если отправитель не предназначается для определенного Ресурса.


Приоритет может идти от -128до 127. Если вы установите отрицательный приоритет (например, -1), этот клиент никогда не получит сообщение, если отправитель явно не отправит его на этот ресурс клиента. Если клиенты имеют одинаковый положительный приоритет, все они должны получить сообщение.

Некоторые клиенты добавляют случайные строки в Ресурс (вероятно, что делает ChatSecure), чтобы сделать полный JID непредсказуемым, что может иметь отношение к соображениям безопасности .