【发布时间】:2018-09-30 18:35:15
【问题描述】:
我正在开发聊天应用程序,并使用ejabberd saas 版本作为它的 xmpp 服务器。我正在使用 smack 库 ver-4.2.3。为了保持连接,我正在使用 ping 管理器。这是我正在使用的代码:
ReconnectionManager.getInstanceFor(AppController.mXmpptcpConnection).enableAutomaticReconnection();
ServerPingWithAlarmManager.onCreate(context);
ServerPingWithAlarmManager.getInstanceFor(AppController.mXmpptcpConnection).setEnabled(true);
ReconnectionManager.setEnabledPerDefault(true);
//int i = 1;
// PingManager.setDefaultPingInterval(i);
PingManager.getInstanceFor(AppController.mXmpptcpConnection).setPingInterval(300);
我也在使用粘性服务进行连接,但是当我让我的应用程序保持打开(理想状态)15-20 分钟时,连接就会丢失,所以我使用 ping 管理器来解决这个问题。
还有其他更好的方法吗?或者 ping manager 是唯一的选择?
【问题讨论】:
-
我建议你学习Conversation project,它也在使用流管理。见XmppConnection
标签: android xmpp chat smack ejabberd-saas