Включить время сервера в сообщение XMPP

Можно ли включить в сообщение XMPP время доставки сообщения на сервер?

Теперь я получаю от сервера OpenFire сообщения типа:

<message id="W45Ky-21" to="[email protected]" from="[email protected]/dfg5465fd" type="chat"><body>test</body></message>

Но мне нужно знать, когда сообщение было отправлено (доставлено на сервер), например:

<message id="W45Ky-21" to="[email protected]" from="[email protected]/dfg5465fd" type="chat"><body>test</body><time>2012-10-12 10:00:52</time></message>

person Nik    schedule 12.10.2012    source источник
comment
Мне нужно что-то подобное, но решил вручную указать время при отправке сообщения.   -  person Akku    schedule 12.10.2012
comment
в этом случае вы получите неправильную дату сообщения, если отправитель изменит дату устройства   -  person Saqib Saud    schedule 21.05.2014


Ответы (1)


XMPP — это протокол реального времени, поэтому сообщение должно быть перенаправлено немедленно с задержкой всего в несколько миллисекунд. Когда получатель находится в автономном режиме, а сообщение сохраняется в автономном режиме и доставляется позже, сервер помечает сообщение, как описано здесь:
XEP-0203: задержка доставки

Если вы хотите пометить каждое исходящее сообщение временем, вы можете использовать созданный заголовок из XEP-0131: Stanza Заголовки и метаданные Интернета или определите собственное расширение XMPP.

person Alex    schedule 12.10.2012
comment
Не могли бы вы подсказать мне, как я могу получить серверное время с каждым сообщением? - person Sonu; 27.12.2016
comment
как сказано выше, сервер помечает время только офлайн-сообщениями, потому что все остальные сообщения передаются в режиме реального времени и не требуют отметки времени. - person Alex; 28.12.2016
comment
Спасибо за ваш ответ, но есть ли способ добавить серверное время в каждое сообщение. Как, иногда, я не получаю время задержки в автономных сообщениях. - person Sonu; 28.12.2016