2012-05-22 3 views
1

Каков наилучший способ определить, передал ли сервер XMPP сообщение клиенту или был ли он отключен?Как определить, когда было отправлено сообщение XMPP?

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

ответ

3

Существует расширение XMPP именно для этого, XEP-0079: Advanced Message Processing, но оно никогда не получало усыновления, поскольку оно является излишним для целей большинства людей. Это ограничивает его полезность в общей сети XMPP.

Однако, если вы используете свой собственный сервер или обмениваетесь только серверами, которые, как вы знаете, поддерживают AMP, может быть доступен плагин, который реализует его для вас. Tigase - это один сервер, который, я уверен, поддерживает его.

Для вашей цели вас будет интересовать условие «expire-at» и любые действия «уведомлять»/«ошибка»/«падение». Вы можете добавить в сообщение несколько элементов <rule/>, чтобы выполнить несколько действий.

Смежные вопросы