Java aSmack重新连接管理器问题
我在android应用程序中使用aSmack库进行群聊,我的问题是,有时当连接丢失时,ReconnectionManager无法重新连接,并出现以下错误:Java aSmack重新连接管理器问题,java,android,xmpp,smack,asmack,Java,Android,Xmpp,Smack,Asmack,我在android应用程序中使用aSmack库进行群聊,我的问题是,有时当连接丢失时,ReconnectionManager无法重新连接,并出现以下错误: java.lang.IllegalThreadStateException: Thread already started. at java.lang.Thread.start(Thread.java:1045) at org.jivesoftware.smack.PacketWriter.startup(PacketWriter.java:
java.lang.IllegalThreadStateException: Thread already started.
at java.lang.Thread.start(Thread.java:1045)
at org.jivesoftware.smack.PacketWriter.startup(PacketWriter.java:119)
at org.jivesoftware.smack.XMPPConnection.initConnection(XMPPConnection.java:603)
at org.jivesoftware.smack.XMPPConnection.connectUsingConfiguration(XMPPConnection.java:565)
at org.jivesoftware.smack.XMPPConnection.connect(XMPPConnection.java:991)
at org.jivesoftware.smack.ReconnectionManager$2.run(ReconnectionManager.java:122)
这是我的代码:
// Create a connection
ConnectionConfiguration config = new ConnectionConfiguration(HOST, PORT);
config.setSASLAuthenticationEnabled(false);
config.setDebuggerEnabled(true);
config.setReconnectionAllowed(true);
关于如何避免这个错误有什么想法吗?或者可能使用不同的asmack版本,我目前正在使用asmack-2010.05.07.jar我找到了解决方案,这是asmack中的一个错误,
重新连接管理器中的方法必须通过同步
来避免此异常,现在我正在使用asmack-android-19-0.8.10.jar,它有这个补丁