我们正在使用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搜索原因但无法找到解决方案。任何帮助表示赞赏。
提前致谢。
答案 0 :(得分:4)
我有同样的问题。登录后,我将连接的数据包回复超时更改为某个合适的值(如10秒)。在smack中,在connection.login()之后 你可以设置
connection.login();
connection.setPacketReplyTimeout(10000); // 10 sec