注册两个账号切换账号登陆存在IM无法连接
minorlai opened this issue · comments
切换账号登陆,要登陆两次才成功登陆,第一次无法连接IM服务
@JennyZhou918
@jenkinsrc
@rc-huangxiujun
在新的 IM SDK 版本中由于考虑到用户负载的问题,同一个设备在切换帐号登录时会引起连接重定向问题, 之前的 SealTalk 版本没有做重定向处理,最新版本已修复了这个问题。
您可以参考最新的 SealTalk 源码中 IMManager#connectIM 以下部分。
@Override
public void onError(RongIMClient.ErrorCode errorCode) {
SLog.e(LogTag.IM, "connect error - code:" + errorCode.getValue() + ", msg:" + errorCode.getMessage());
if (errorCode == RongIMClient.ErrorCode.RC_CONN_REDIRECTED) {
// 重定向错误,直接调用重新连接
connectIM(token,getTokenOnIncorrect,callback);
} else {
if (callback != null) {
callback.onFail(errorCode.getValue());
} else {
// do nothing
}
}
}
在新的 IM SDK 版本中由于考虑到用户负载的问题,同一个设备在切换帐号登录时会引起连接重定向问题, 之前的 SealTalk 版本没有做重定向处理,最新版本已修复了这个问题。
您可以参考最新的 SealTalk 源码中 IMManager#connectIM 以下部分。@Override public void onError(RongIMClient.ErrorCode errorCode) { SLog.e(LogTag.IM, "connect error - code:" + errorCode.getValue() + ", msg:" + errorCode.getMessage()); if (errorCode == RongIMClient.ErrorCode.RC_CONN_REDIRECTED) { // 重定向错误,直接调用重新连接 connectIM(token,getTokenOnIncorrect,callback); } else { if (callback != null) { callback.onFail(errorCode.getValue()); } else { // do nothing } } }
我已经升级了最新sdk,和覆盖了IMManager等最新的类,但还是会出现不同账号退出登录的时候,需要点击两次登录才能成功连接IM服务,才能进入app
@jenkinsrc
连接IM服务code=30011 几率很频繁,所以一直连接不成功
@jenkinsrc @JennyZhou918 @rc-huangxiujun
说明这个是有问题的,我也出现过很多次
30011 的话,可能是连接真失败了,这个需要重新再进行登录。
我们这边也再去看下这个 30011 错误是否由其他的可能去引发。
有什么办法处理呢? 目前很影响用户使用,界面一直处理转圈加载状态