[图片]
当前的连接是已经登录成功的状态吗?异常抛出后没有触发自动重连吗?
这边通过添加监听OnResume,好像没有触发自动重连。
后面两个红色异常是在断线过程中发送消息时抛出的,这个应该由开发者捕获处理。但以目前的处理,在接收异常时会关闭 Socket,并触发重连。有能复现的规律或者场景吗?
这个是偶现的,不太确定出现原因。因为当时游戏没有断线,并且可以上网
有没有断开异常后的日志
报错日志只有这几个。我这边是这样子处理的,监听网络连接状态OnClose和OnPaused,断开的时候我就屏蔽聊天系统,等待OnResume恢复。因为一直没有恢复,所以聊天系统无法进去,就没有后面的内容了
OnClose 和 OnPause 还是有区别的:OnPause 与 OnResume 是对应的,在 OnPause 之后,SDK 会一直尝试重连,直到成功后回调 OnResume;而 OnClose 则表示被服务端踢掉,或者只允许一台设备登录(被顶掉),这种情况下 SDK 是不会重连的。
所以,需要看一下当前状态是走到了哪一步,要日志的目的也是要看下 SDK 有没有尝试重连。
还请再复现这个问题的时候,希望能多提供一些日志来分析。
好的,谢谢
看图一是有执行到 SDK 捕获 receive 异常的,图中的日志就是捕获后打印的,看后面的执行逻辑是会重连的。
如果再复现这个问题,请在图一日志后继续收集日志,看重连有没有执行,以及有没有重连失败等信息。