我在修复之前使用下面的配置进行xmpp连接。
XMPPTCPConnectionConfiguration conf = XMPPTCPConnectionConfiguration.builder() .setXmppDomain(mServiceName) .setHostAddress(getIpAddressOrNull(mServiceName)) .setResource("Android") .setUsernameAndPassword(mUsername, mPassword) .setKeystoreType(null) //This line seems to get rid of the problem .setSecurityMode(ConnectionConfiguration.SecurityMode.disabled) .setCompressionEnabled(true) .setSendPresence(true) .setDebuggerEnabled(false) .build();
问题在删除资源部分后修复。
.setResource("Android")
org.jivesoftware.smack.SmackException$NoResponseException: No response received within reply timeout
通常,当用户的状态未更新到Openfire服务器并尝试加入房间时,会出现此异常。
因此,在关闭应用程序上更新onStop()上的状态(不可用)。 并设置你的存在(可用)onResume()。
然而,您将获得此异常,然后将异常发送用户的状态“不可用”发送到Openfire服务器,并在1-2秒后发送状态“可用”,然后加入组。