aSmack,如何强制重新连接?

雷扎

我有一个已经实现的aSmack应用程序(8-4.0.5),我们知道它具有内部重新连接管理,但是并没有夸大其词,因为有时我们应该等待5分钟才能进行重新连接,而现在我们知道这是个好时机这样做,所以我已经实现了这一点:

private BroadcastReceiver mConnReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
    intent.getParcelableExtra(ConnectivityManager.EXTRA_OTHER_NETWORK_INFO);
               if(isNetworkAvailable()){
                   if(MyService.myServiceInstance!=null){
                       if(!MyService.connection.isConnected() || !MyService.connection.isAuthenticated()){
                           MyService.myServiceInstance.performReconnect();
                          // Which goes to Connect() and Authenticate()
                       }
                   }
                  LMApplication.getInstance().getPresistentJobManager().onNetworkChange(true);
               }

   }
}; 

但是问题是有些时候他们俩都尝试同时连接(我的经理和内置经理),结果是,他们下次又一次又一次地重新连接,每次我收到此错误时:

11-10 14:58:09.069: W/PacketWriter(26439): Exception writing closing stream element
11-10 14:58:09.069: W/PacketWriter(26439): java.io.IOException: BufferedWriter is  
closed
11-10 14:58:09.069: W/PacketWriter(26439):  at    
java.io.BufferedWriter.checkNotClosed(BufferedWriter.java:130)
11-10 14:58:09.069: W/PacketWriter(26439):  at   
java.io.BufferedWriter.flush(BufferedWriter.java:122)
11-10 14:58:09.069: W/PacketWriter(26439):  at 
org.jivesoftware.smack.util.ObservableWriter.flush(ObservableWriter.java:44)
11-10 14:58:09.069: W/PacketWriter(26439):  at 
org.jivesoftware.smack.tcp.PacketWriter.writePackets(PacketWriter.java:190)
11-10 14:58:09.069: W/PacketWriter(26439):  at 
org.jivesoftware.smack.tcp.PacketWriter.access$000(PacketWriter.java:40)
11-10 14:58:09.069: W/PacketWriter(26439):  at 
org.jivesoftware.smack.tcp.PacketWriter$1.run(PacketWriter.java:77)

我猜是因为1已经完成工作并关闭了编写器,而另一位看到的是编写器已关闭,请断开连接!就像两个嫉妒的孩子!

所以有什么想法我可以在这里做什么,例如我如何禁用影响或强制重新连接?

喜欢自拍

我必须删除aSamack自动重新连接系统,然后完全自己完成,这样我的应用才能获得稳定性。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何强制Slack重新连接?

来自分类Dev

XMPP aSmack-如何监听自己的用户状态(在线/离线)以重新连接

来自分类Dev

如何在OpenWRT PPPoE连接模式下强制手动重新连接?

来自分类Dev

WebSphere MQ:“对象已打开”。如何强制释放并重新连接?

来自分类Dev

如何强制重新加载页面

来自分类Dev

“强制重新检查”如何工作?

来自分类Dev

如何强制重新排序jsTree?

来自分类Dev

如何强制刷新连接的硬件?

来自分类Dev

EF 如何强制内部连接?

来自分类Dev

带有Asmack的Android-连接到XMPP时如何获取当前状态信息?

来自分类Dev

强制雄辩模型重新解析数据库连接

来自分类Dev

连接新屏幕时,强制Awesome重新启动

来自分类Dev

重新连接屏幕(运行irssi)会强制调整窗口大小

来自分类Dev

如何强制重新加载/刷新组件视图?

来自分类Dev

如何强制刷新/重新绘制JScrollPane?

来自分类Dev

如何强制Meteor重新加载订阅?

来自分类Dev

如何强制OpenCL不重新对齐结构?

来自分类Dev

如何强制#vuetify #treeview节点重新加载?

来自分类Dev

如何强制重新缓存更新的网页

来自分类Dev

如何强制Word重新计算图像编号?

来自分类Dev

如何强制OS重新加载fstab?

来自分类Dev

如何强制 JSF 重新发送请求?

来自分类Dev

如何强制视图重新计算其尺寸

来自分类Dev

如何强制 React 组件重新渲染?

来自分类Dev

变异后如何强制App重新渲染?

来自分类Dev

如何重新连接Javascript文件

来自分类Dev

如何让wifi自动重新连接?

来自分类Dev

无法使用aSmack 4.0.2建立新连接

来自分类Dev

如何强制NetworkManager在登录之前建立连接?

Related 相关文章

热门标签

归档