如何从 Smack 4.1 中的实时消息中获取服务器时间戳

Posted

技术标签:

【中文标题】如何从 Smack 4.1 中的实时消息中获取服务器时间戳【英文标题】:How to get Server time stamp from live messages in Smack 4.1 【发布时间】:2016-07-23 15:24:28 【问题描述】:

我正在使用 Smack 4.1 开发群聊应用程序。我能够区分历史消息和当前消息。但问题是向用户显示哪一个,例如在历史消息中有基于它的时间戳,我可以将其显示给用户并且可以避免重复。对于当前消息,没有时间戳,所以我正在使用设备时间戳,但设备时间戳与服务器不同。

【问题讨论】:

【参考方案1】:

对于服务器时间同步,请查看此 XEP:https://xmpp.org/extensions/xep-0202.html,并且根据 openfire 支持的 XEP 的文档,此 XEP 在 Openfire 中可用。

您可以将具有指定名称空间的 IQ 发送到您的 XMPP 服务器,作为响应,您可以获得服务器时间,现在您可以相应地计算时间差

【讨论】:

以上是关于如何从 Smack 4.1 中的实时消息中获取服务器时间戳的主要内容,如果未能解决你的问题,请参考以下文章

如何从 smack 中的消息 ID 获取消息。

如何使用 Smack 4.1 创建、发送和接收 IQ 数据包

如何在 smack 中获取消息标签的 id?

无法使用 Smack 4.1 从 Android 连接 apache vysper XMPP 服务器

如何从 Smack 4.1 创建帐户

Smack 4.1 重新连接问题