1

如何在 Openfire 服务器上接收消息传递收据?

我想收到以下状态的确认:

  1. 当 Openfire 服务器收到消息时
  2. 当接收方客户端收到消息时
  3. 当接收者阅读了消息。

简而言之,我想实现类似于 Whatsapp 的 PENDING、SINGLE TICK、DOUBLE TICK、BLUE DOUBLE TICK 等功能。

我知道,XMPP 确实支持这个功能。[ XEP-0184 ]

经过大量搜索,我了解到 Openfire 不支持 XEP-0184。问题OF-434已被Openfire 社区关闭并标记为不会修复。

我还能如何实现这一目标?我不想迁移到另一台服务器!

在 OPENFIRE 上实现消息传递收据的替代解决方案是什么?

4

2 回答 2

4

如果您仔细阅读您提到的 Openfire 问题,您可能会注意到该问题的最后一条评论给出了它被关闭的原因为“不会修复”

XEP-0184 与服务器无关。

它纯粹是一个客户端到客户端的协议,并且有据可查,这意味着由于服务器可能出现的问题而没有接收到消息的收据。服务器无法使用此规范实现任何内容,因此我将其关闭。

此外,XEP-184 仅描述了一种交付收据的机制。它指定当服务器接收(“确认接收”)消息时,或用户已阅读消息时不通知。

服务器对传入节的确认可以使用 XEP-198 流管理完成,更详细的收据可以使用 XEP-333 聊天标记完成。只有 XEP-198 需要服务器支持,另外两个 XEP-184 和 XEP-333 是纯客户端 XEP。

于 2015-01-07T14:11:56.257 回答
2

正如Flow 的回答中所暗示的那样,OpenFire 实际上确实支持 XEP-0184,因为它做了所有它需要做的事情以使 XMPP 客户端能够使用该协议。这涵盖了列表中的第 2 点(当接收方客户端收到消息时)。

对于第 1 点(Openfire 服务器接收到消息时),您需要服务器支持XEP-0198(流管理)。不幸的是,Openfire 还不支持 XEP-198

于 2015-01-07T15:41:34.610 回答