如何使用XMPP协议向组/用户发送系统消息?

时间:2016-03-09 06:32:14

标签: xmpp ejabberd

使用XMPP协议时,向群组/用户发送系统消息的最佳做法是什么?该组的所有用户都应该收到该消息。 我怎样才能实现它?

可能有用的解决方案:

  1. 宣布 - 我遇到了announce以及更多 特别是this module
  2. 发布 - 订阅http://www.xmpp.org/extensions/xep-0060.html
  3. 总有 创建将发送消息的管理员用户的选项。
  4. 提前致谢。

1 个答案:

答案 0 :(得分:2)

最佳方法取决于您的约束,特别是如果您控制客户端。例如,如果您使用的是未开发的客户端,则可能无法正确显示pubsub消息。

第二件事要考虑如何定义组。用户是否注册了警报?在那种情况下似乎匹配pubsub案件。否则,如果组不是太大,您可以使用管理员用户发送到您想要的用户列表。您甚至可以使用XEP-0033: Extended Stanza Addressing向多个用户发送单个消息(有时称为"多播")。

mod_announce只能定位所有用户或所有在线用户,因此它似乎无法满足您对"群组"

的需求。

我在演讲中解释了大部分选项(视频和幻灯片):https://blog.process-one.net/implementing-state-of-the-art-one-to-many-chat-services-with-ejabberd-ejabberd-workshop-1/

它更广泛,因为它不仅涵盖广播,还包括群聊,但它应该有助于澄清您的选择。