ejabberd 不将未确认的消息存储到离线存储
Posted
技术标签:
【中文标题】ejabberd 不将未确认的消息存储到离线存储【英文标题】:ejabberd not storing unacknowledged messages to offline storage 【发布时间】:2015-09-26 14:03:44 【问题描述】:我在 Ubuntu Server 14.04 上运行 Ejabberd 15.07.33。我使用的是基本配置,刚刚添加了mod_offline_post
(来自mod_interact
)。我已经阅读了有关死连接问题以及如何克服它的文章,但是 ejabberd 网站 (https://www.ejabberd.im/faq/tcp) 上的这篇文章说,未确认的消息应该最终存储在离线存储中,而我的情况并非如此。我应该设置什么特殊配置来让这种情况发生吗?我尝试设置 `resend_on_timeout 但没有改变任何东西。
感谢您的帮助。
【问题讨论】:
您是如何克服死连接问题的?谢谢! @ChrisR。我很久以前就放弃了 ejabberd 并建立了自己的消息服务器,JSON over websockets。我使用 play framework 作为 websockets 服务器。 【参考方案1】:抱歉,我发现我也应该从客户端启用 Stream Management XEP-0198。我正在使用 Smack 4.1,并通过将这些行添加到我的代码中来启用它。
static
XMPPTCPConnection.setUseStreamManagementDefault(true);
XMPPTCPConnection.setUseStreamManagementResumptiodDefault(true);
【讨论】:
您应该将自己的答案标记为已批准。它将帮助其他用户:)以上是关于ejabberd 不将未确认的消息存储到离线存储的主要内容,如果未能解决你的问题,请参考以下文章
具有流管理 (XEP-198) 的 Ejabberd 不使用离线消息挂钩