Android smack/ejabberd连接超时
我们使用ejabberd的Pub/Sub机制在多个客户端之间发送消息。服务器上运行的ejabberd版本为16.04,smack库版本为4.1.1 消息的发布和订阅在一段时间内工作正常,一段时间后,客户端出现以下异常:Android smack/ejabberd连接超时,android,ejabberd,smack,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 filte
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))
试图通过谷歌搜索原因,但无法找到解决方案。感谢您的帮助
提前谢谢。我也有同样的问题。登录后,我将连接的数据包回复超时更改为某个合适的值(如10秒)。在smack中,在connection.login()之后 你可以设置
connection.login();
connection.setPacketReplyTimeout(10000); // 10 sec
更新我尝试了smack库版本4.3.2(及更新版本),方法连接。setPacketReplyTimeout
已删除,请改用此方法:
connection.login();
connection.setReplyTimeout(10000); // 10 sec
试试这个链接。这可能会有帮助