gpt4 book ai didi

java - aSmack ReconnectionManager 问题

转载 作者:行者123 更新时间:2023-11-30 02:34:39 25 4
gpt4 key购买 nike

我在我的 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: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 中的一个错误,ReconnectionManager 类中的 reconnect() 方法必须通过 synchronized 来避免此异常, 现在我正在使用 asmack-android-19-0.8.10.jar 并且它有这个修复。

关于java - aSmack ReconnectionManager 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26768841/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com