【问题标题】:offline message hook for group chats群聊的离线消息挂钩
【发布时间】:2015-12-22 00:57:24
【问题描述】:

我有一个支持 ejabberd 的 iOS 应用程序,带有一个基于 offline_message_hook 的小扩展,它使用 APNS(Apple 推送通知服务)来传递发送给离线用户的消息的推送通知。不过,这对于群聊来说效果并不好,所以我正在寻找一种策略,对属于群聊的离线用户也能做到这一点。 MUC 甚至会跟踪房间内但离线的用户吗?我是否需要以某种方式扩展它们以跟踪这一点?我可以从在线用户集合中减去邀请用户集合以获得离线用户吗?我应该使用什么钩子来做到这一点?

非常感谢您对此提出任何建议或有关更好策略的建议!

【问题讨论】:

    标签: erlang xmpp ejabberd xmppframework


    【解决方案1】:

    多用户聊天的 XMPP 规范将 MUC 房间定义为基于状态的。根据定义,用户只有在连接时才在聊天室中。当他下线时,用户就会离开聊天室。这意味着他根本没有收到消息。这就解释了为什么它们不离线存储。

    目前这是 XEP-0045 的一个功能。一些未来的 XMPP 规范(又名 MUC 2)可能会在未来解决这个问题。目前 XMPP 无法支持 MUC + 离线存储消息。

    【讨论】:

    • 谢谢。你打算什么时候发布 MUC 2?你能给我一些关于如何在 MUC 1 中做到这一点的指导吗?
    • 在 MUC 规范中定义的方式是不可能的。您必须发明自己的协议/扩展来满足您的要求。例如,您可以使用在 ejabberd MUC 模块 (muc_filter_packet) 中添加的新钩子。关于 MUC2,XSF 还没有写出 MUC 2 的规范,所以还有几个月的时间。
    猜你喜欢
    • 2014-11-14
    • 2017-06-27
    • 2015-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-01
    • 2023-03-06
    • 1970-01-01
    相关资源
    最近更新 更多