【发布时间】:2017-04-11 04:39:20
【问题描述】:
我正在使用 xmpp over Ejabbered 为服务器构建一个聊天应用程序,并为 android 客户端构建一个 smack
我已经建立了连接、登录、发送和接收消息,然后我遇到了用户网络断开和重新连接的问题,已经通过 Reconnecting Manger in smack 和 xmpp-0198 解决了,但是有一种情况是我需要在 smack 中创建一个新连接,但使用上一个会话(流)来获取存储在该会话中的所有消息(它们不会存储到离线消息中) ,如果我用新的流 id 创建一个新连接,用户消息就会丢失。
那么是否有一个连接构造函数来实现这个解决方案。 或服务器端配置以将数千条消息存储到离线消息中
【问题讨论】:
-
您可以在服务器端使用 mod_offline 模块。
-
mod_offline 添加并在用户未与任何客户端联机的情况下工作,但是如果有资源(客户端与打开的会话连接),则消息将存储在该会话内的队列中,在同一客户端创建新会话消息的情况会丢失@HareKumar
标签: android xmpp ejabberd smack