Вам необходимо понять, как работают JID, каковы приоритеты и как отправлять сообщения.
JID имеет вид: user@domain/resource
JID зарегистрированных пользователей должны быть уникальными. Обычно, когда вы используете веб-клиент, вы назначаете случайный ресурс каждому сеансу, чтобы не было конфликтов.
Теперь, когда пользователь отправляет сообщение, атрибут to
раздела <message>
указывает получателя сообщения. Если ресурс является частью получателя, то только этот JID получит сообщение. Если получатель является чистым JID (user @ domain), то в игру вступают приоритеты (см. здесь ):
- Ресурс с самым высоким приоритетом в любой момент времени будет тем, который получает входящие сообщения.
- Если два или более ресурса имеют одинаковый приоритет, все ресурсы с указанным приоритетом могут получать входящие сообщения или в зависимости от реализации сервера, которую можно получать в зависимости от критериев, специфичных для сервера.
- Если все подключенные ресурсы имеют отрицательный приоритет, входящие сообщения будут помещаться в очередь на стороне сервера, пока один из ресурсов не сбросит приоритет на положительный.
Вы можете установить приоритет (целое число в [-128, 127]) при отправке своего присутствия (см. RFC для полной спецификации), например:
<presence>
<status>Learning XMPP</status>
<priority>1</priority>
</presence>