重连机制与重连互踢
自动重连机制
IMLib SDK 内部已实现自动重连机制,一旦连接成功,SDK 的重连机制将立即开始生效,并接管所有的重连处理。当因为网络原因断线时,SDK 内部会尝试重新建立连接,您不需要做额外的连接操作。
可能导致 SDK 断线重连的异常情况如下:
-
弱网环境:可能出现 SDK 不停重连的情况。因为客户端 SDK 和融云服务端之间存在连接保活机制,一旦因网络太差导致心跳超时,SDK 就会触发重连操作,尝试重连直到连接成功。
-
无网环境:SDK 的重连机制会暂停。一旦网络恢复,SDK 会进行重连操作。
-
应用处于后台:当应用处于后台时,系统可能会限制网络出访或进程运行导致连接断开,如限制网络出 访,会尝试重连直到连接成功;如限制进程运行,SDK 会在回到前台时触发重连操作。
提示
一旦触发连接错误的回调,SDK 将退出重连机制。请根据具体的状态码业务侧自行处理。
重连时间间隔
SDK 尝试重连时,时间间隔逐次变大,分别是 0.05s(5.6.2 之前为 0s)、0.25s、0.5s、1s、2s、4s、8s、16s、32s。之后每 64s 重试一次。
当应用切换到前台或者网络状态发生变化,重连时间会按照上面的时间间隔从头开始,保证这种情况下能尽快的连接成功。
主动退出重连机制
应用主动断开连接后,SDK 将退出重连机制,不再尝试重连。