使用 XMPP 协议(protocol)时向组/用户发送系统消息的最佳实践是什么?该组中的所有用户都应该收到该消息。 我怎样才能实现它?
可能有用的解决方案:
- 公告 - 我遇到了 announce和更多 具体来说this module 。
- 发布-订阅 http://www.xmpp.org/extensions/xep-0060.html
- 总有 创建将发送消息的管理员用户的选项。
提前致谢。
最佳答案
最好的方法取决于您的限制,尤其是在您控制客户端的情况下。例如,如果您使用不是您开发的客户端,它可能无法正常渲染 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/
它的范围更广,因为它不仅涵盖广播,还涵盖群聊,但它应该有助于澄清您的选择。
关于xmpp - 如何使用XMPP协议(protocol)向群组/用户发送系统消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35884562/