默认
发表评论 5
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
[已回复] MobileIMSDK客户端频繁切换账号导致登录失败?
阅读(38677) | 评论(5 收藏 淘帖
@
[size=1.2em]JackJiang
你好:       客户端切频繁切换账号时会出现客户端登录监听返回登录成功,但是服务端log显示连接失败;
       注销账号时调用了LocalUDPDataSender.getInstance(context).sendLoginout();
        init状态也修改了,重新登录时进行了初始化;


       在GitHub下载的demo中进行修改,模拟账号切换,多次尝试后也出现登录成功,发送不成功问题,
     请问@
[size=1.2em]JackJiang
  需要切换账号的情况下如何解决这个问题。



即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

标签:MobileIMSDK
上一篇:[已回复] 求教关于 MobileIMSDK 应答包下一篇:[已解决] 求教MobileIMSDK的服务端向客户端发送消息的疑问
推荐方案
评论 5
引用:s2221219 发表于 2018-05-15 09:02
注销后,在第二次登录前进行初始化,然后马上登录;在其它帖子中看到这条回复”初始化SDK与登录的两个方 ...

首先,你这种操作如果是客户这么干,完全可以判定为恶意登陆了。因为正常的客户不可能这么玩,换句话说这么玩的一定是不正常客户,完全可以干掉它。

其实,从技术上来说,网络通信程序,顾名思义,通信都是要经过网络以及层层路由,延迟是必然存在的。在MobileIMSDK的android端,首次连接时需要注册系统的网络连通状态广播监听,而android系统首次给的事件反馈是懂异步且有延迟的(不信你可以查查android的网络事件原理),你的操作出问题的原因就是操作过快,刚好碰到系统的事件反馈还没有给出的这种情况,就是你在其它帖子里看到的这种问题。目前来说,这是系统的事件处理机制(必然是这种机制,因为系统的事件肯定是异步抛出出来的,且涉及到事件优先级,不可能像调用一个方法一样立即就能同步返回你要的结果)带来的延迟,MobileIMSDK很难解决它。除非自已来造一个ICMP机制(相当于电脑上的ping命令这样的东西),来探测网络,但ICMP包要经过网络反馈结果,也是存在延迟。

总之,在异步、延迟的情况下,你的这种非正常吹毛求疵式的操作,没法根本性解决,除非自已动代码写的复杂一些,用幂等的方式,过滤掉你这种攻击式的操作。
引用:s2221219 发表于 2018-05-15 08:50
退出登录后 马上进行重登,多次连续注销、重登后就会出现问题;在demo中测试也出现了此问题.

注销后,在第二次登录前进行初始化,然后马上登录;在其它帖子中看到这条回复”初始化SDK与登录的两个方法放到一起,初始化没执行完就登录,导致服务器的确认机制失败.然后下线了”,初始化需要与登录有一定的时间间隔?
引用:JackJiang 发表于 2018-05-14 22:06
你能把你的问题说有有逻辑一点:
比如第次登陆在什么时候发出,然后多长时间后再次发出登陆blabla...

退出登录后 马上进行重登,多次连续注销、重登后就会出现问题;在demo中测试也出现了此问题.
你能把你的问题说有有逻辑一点:
比如第次登陆在什么时候发出,然后多长时间后再次发出登陆blabla...

你这频繁切换该怎么理,你得有逻辑的描述清楚才能帮你分析 问题到底是什么
服务端会出现这个错误:[2018-05-14 20:30:42,537][INFO, LogicProcessor.java:235] [IMCORE]>> 客户端{uid:null}/172.16.10.75:19538发过来的登陆信息内容是:loginInfo=504316816|getToken=49251172
[2018-05-14 20:30:51,306][WARN, QoS4SendDaemonRoot.java:407] 【IMCORE-netty-本机QoS】【QoS发送方】指纹为93bf6b67-2863-4886-8bc6-fffa06d62d44的消息已成功从发送质量保证队列中移除(可能是收到接收方的应答也可能是达到了重传的次数上限),重试次数=1
[2018-05-14 20:30:52,539][INFO, ServerCoreHandler.java:306] [IMCORE-netty]{uid:504316816}/172.16.10.75:19538的会话已关闭(user_id=504316816)了...
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部