首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >aSmack ReconnectionManager问题

aSmack ReconnectionManager问题
EN

Stack Overflow用户
提问于 2014-11-05 23:03:10
回答 1查看 501关注 0票数 1

我在我的安卓应用程序中使用aSmack库进行小组聊天,我的问题是,当连接丢失时,ReconnectionManager无法重新连接并给出以下错误:

代码语言:javascript
复制
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)

这是我的密码:

代码语言:javascript
复制
  // Create a connection
    ConnectionConfiguration config = new ConnectionConfiguration(HOST, PORT);
    config.setSASLAuthenticationEnabled(false);
    config.setDebuggerEnabled(true);
    config.setReconnectionAllowed(true);

对于如何避免这个错误,有什么想法吗?或者使用不同的asmack版本,我目前使用的是asmack-2010.05.07.jar

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-13 11:19:09

我找到了解决方案,它是aSmack中的一个bug,ReconnectionManager类中的reconnect()方法必须由synchronized来避免这个异常,现在我使用的是aSmack,它有了这个修复。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26768841

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档