【问题标题】:Using strophejs how to implement message seen feature使用 strophejs 如何实现消息可见功能
【发布时间】:2021-08-30 12:49:03
【问题描述】:

我在客户端使用 openfire 作为 xmpp 服务器和 strophejs,有什么方法可以实现 message seen,message delivered, message not delivered,message sending failed 列表等功能。是否有任何插件可以实现这一点,因为我找不到任何插件。

【问题讨论】:

    标签: xmpp ejabberd openfire strophe strophe.js


    【解决方案1】:

    XEP-0184 是此用例所需要的。

    在 Strophe 的 Github 存储库中,有一个插件:strophejs-plugin-receipts,它是 XEP-0184 的一个实现。

    我没有使用过这个插件,所以你必须将这个插件添加到你的项目中并进行测试。 此外,如果缺少任何功能,您应该能够根据 XEP 的规范添加/实现。

    【讨论】:

    • 但是使用 XEP-0184 并没有指定读取未读功能对吗?
    • 它定义了一个协议,使发送者能够通过返回 ack 消息来请求接收者确认收到内容消息。
    • 如果我从历史记录中为每条消息加载消息,是否需要发送消息 ID 的回执请求?
    • 这将取决于实现。客户端 A 向客户端 B 发送了 5 条消息,并且仅收到了消息 5 的 SEEN 收据(可能是一些网络问题)。所以逻辑上消息 5 的回执意味着客户端 B 已经看到了所有 5 条消息,所以客户端 A 会将所有发送的消息标记为在聊天窗口中看到的。希望它能澄清你的问题。
    • 但是如果用户 A 发送了 5 条消息而用户 B 离线怎么办。一段时间后,用户 B 在线,但用户 A 离线,用户 B 已阅读所有消息。那么,如果用户 A 再次上线,他应该如何接收带有receiept 的旧消息?
    猜你喜欢
    • 2012-06-15
    • 2014-03-20
    • 2011-05-27
    • 2012-02-11
    • 1970-01-01
    • 2020-06-20
    • 1970-01-01
    • 2014-01-18
    • 1970-01-01
    相关资源
    最近更新 更多