Доставка сообщения, когда пользователь не в сети

StackOverflow https://stackoverflow.com/questions/247647

  •  05-07-2019
  •  | 
  •  

Вопрос

У меня есть плагин для OpenFire, который создает и доставляет сообщение пользователю, используя

XMPPServer.getInstance().getMessageRouter().route(message)

Я хотел бы знать, что произойдет с этим сообщением, если пользователь не в сети.

Моя цель состоит в том, чтобы доставить сообщение только в том случае, если пользователь находится в сети, и в противном случае произойдет сбой или оно будет перенаправлено в битовую корзину.

Это было полезно?

Решение

Все дело в конфигурации Openfire.В консоли администратора Openfire перейдите в раздел Сервер -> Настройки сервера -> Автономные сообщения.Есть варианты сохранения, отскока и падения.

  • Магазин:Доставьте сообщение, когда пользователь возвращается в Интернете.
  • Уронить:Просто сбросьте сообщение.
  • Подпрыгивать:Отбросить и уведомить отправителя ответным сообщением.

Другие советы

Другой подход, если вы просто хотите, чтобы эти сообщения не отключались, не влияя на доставку других сообщений, заключается в использовании type = 'headline'. Заголовки не очень хорошо определены, но RFC 3921bis Раздел 5.2.2 гласит:

  

заголовок - сообщение содержит предупреждение, уведомление или другую информацию, на которую не ожидается ответа (например, заголовки новостей, спортивные новости, рыночные данные почти в реальном времени и синдицированный контент). Поскольку никакого ответа на сообщение не ожидается, обычно получающий клиент представляет сообщение типа «заголовок». в интерфейсе, который соответствующим образом отличает сообщение от автономных сообщений, сообщений чата или сообщений группового чата (например, не предоставляя получателю возможность ответить). Принимающий сервер ДОЛЖЕН доставить сообщение всем доступным ресурсам получателя.

Большинство современных серверов будут просто молча отправлять заголовки офлайн-пользователям и доставлять ресурсы с наивысшим приоритетом, если пользователь находится в сети.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top