smack / ejabberd连接超时

时间:2016-07-04 12:21:21

标签: android ejabberd smack

我们正在使用ejabberd的Pub / Sub机制在多个客户端之间发送消息。服务器上运行的ejabberd版本为16.04,smack库版本为4.1.1。

消息的发布和订阅在一段时间内正常工作,经过一段时间我们在客户端获得以下异常:

org.jivesoftware.smack.SmackException$NoResponseException: No response received within reply timeout. Timeout was 15000ms (~15s). Used filter: IQReplyFilter: iqAndIdFilter (AndFilter: (OrFilter: (IQTypeFilter: type=error, IQTypeFilter: type=result), StanzaIdFilter: id=T89NL-174)), : fromFilter (OrFilter: (FromMatchesFilter (full): pubsub.unio.com))

尝试使用Google搜索原因但无法找到解决方案。任何帮助表示赞赏。

提前致谢。

1 个答案:

答案 0 :(得分:4)

我有同样的问题。登录后,我将连接的数据包回复超时更改为某个合适的值(如10秒)。在smack中,在connection.login()之后 你可以设置

connection.login();
connection.setPacketReplyTimeout(10000); // 10 sec