如何在 ejabberd 服务器中启用流管理?

Posted

技术标签:

【中文标题】如何在 ejabberd 服务器中启用流管理?【英文标题】:How to enable stream management in ejabberd server? 【发布时间】:2015-02-07 06:53:33 【问题描述】:

我正在使用 ejabberd 服务器和 smack 4.1.0 beta 2 在 android 中开发一个聊天应用程序。我想使用流管理 (XEP-0198)。

在ejabberdhttp://www.process-one.net/docs/ejabberd/guide_en.pdf的安装和操作指南中指定默认启用流管理。但在我的情况下它不起作用。

所以我手动将流管理值设为 true。但是当我调用 issmavailable() 方法时仍然会返回 false。

这是我的 ejabberd.cfg 代码,

listen,
[
  5222, ejabberd_c2s, [

                        access, c2s,

                        shaper, c2s_shaper,

                        max_stanza_size, 65536,

                        zlib,

                        starttls,

                        certfile, "/etc/ejabberd/ejabberd.pem",

                        stream_management,true

                       ],

请帮助我..提前谢谢...

【问题讨论】:

【参考方案1】:

对于在禁用 XEP-0198 的升级后来到这里的任何人:使用 ejabberd 17.03,该选项已重命名,如果配置中根本不存在,则该选项被禁用。新选项称为mod_stream_mgmt

https://blog.process-one.net/ejabberd-17-03/

【讨论】:

【参考方案2】:

在 ejabberd 中,流管理是 c2s 侦听器的一个选项。您应该将选项stream_management 设置为true

参考是:http://docs.ejabberd.im/admin/guide/configuration/#listening-ports

请注意,在最新的 ejabberd 版本上,默认启用流管理。

【讨论】:

我也有同样的问题。我在连接到服务器时没有收到 客户端不应该启用这个选项吗? eJabbered 正在发送已通过 FCM 收到的重复消息,所以在这种情况下,我必须做些什么,请帮忙!!

以上是关于如何在 ejabberd 服务器中启用流管理?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Ejabberd 中启用基于角色的用户聊天

安排任务每天在 eJabberd 服务器上运行?

ejabberd-18.12.1 上 mod_ping 的正确配置是啥?

在 ejabberd 服务器上启用 PEP

配置 ejabberd 以用作游戏服务器

如何通过 HTTP 访问 ejabberd 管理 api?