在 ejabberd 用户下线时离开组

Posted

技术标签:

【中文标题】在 ejabberd 用户下线时离开组【英文标题】:In ejabberd user left group when he goes offline 【发布时间】:2016-03-20 20:12:06 【问题描述】:

在群聊中,一旦用户下线,他也会退出群。我怎样才能让他保持在群组中,以便他在上线时也能收到聊天通知。我正在为网络聊天应用程序使用 ejabberd 和 strophe js。

【问题讨论】:

你找到解决办法了吗??? 我为此使用了一个技巧。我将 ejabberd 与 mysql 而不是 mnesia 连接起来。因此,每当用户上线时,我都会以编程方式将该用户添加到他的组中,并通过 API 调用获取所有对话。基本上 api 在用户离开组后从 MySQL 数据库中获取所有消息。很多手动工作和方法都不是很好,但我暂时使用了它。 【参考方案1】:

XEP-0045 中定义的多用户聊天基于存在。因此,这是预期的行为。

ejabberd 还实现了一个由 XSF 编写的正在进行的扩展:XEP-0369: Mediated Information eXchange (MIX)。

ejabberd master 已经实现了该规范,即使这只是一个草案。目前,它还没有完成,只是实验性的。它目前还不能用于生产。

【讨论】:

感谢 Mickael 的评论!但是我想建立像whats app这样的群聊,意味着用户将被永久添加,如果他离线,他将收到所有消息。如果你已经解决了这个问题,你能帮我我们如何使用 ejabberd 构建这个功能吗? XMPP 中不存在此功能。 XSF 正在进行一项工作:XEP-0369: Mediated Information eXchange (MIX)。即使这只是一个草案,ejabberd master 已经实现了该规范。目前,它还没有完成,只是实验性的。它目前还不能用于生产。您可能必须等待 XSF 的进展和/或在其之上构建自定义扩展。我更新了我的答案。 嗨 Mickaël Rémond,我想通过 ejabberd 实现像 whats 应用程序这样的永久群聊。正如您在上面所说的,“ejabberd 还实现了一个由 XSF 编写的正在进行的扩展:XEP-0369:Mediated Information eXchange (MIX)。”那么现在我可以使用 ejabbered 与 XEP-0369 进行永久群聊还是仍处于开发阶段?如果它仍处于开发阶段,那么您能否为此提供任何其他替代解决方案? 我正计划继续使用 openfire,MUC ... 在 Skype 上联系我 - er.sachin08

以上是关于在 ejabberd 用户下线时离开组的主要内容,如果未能解决你的问题,请参考以下文章

通过 Mule ESB CE 连接 Ejabbered

无法打开 ejabbered Web 仪表板 localhost:5280

Python 和 EJABBERD/XMPP [关闭]

如何启用用户注册 - eJabberd for mac?

如何在 Ejabbered 中为 MUC 创建一个持久组?

不能在 XMPP 服务器上加入/创建超过 10 个组