默认
发表评论 5
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
你能把你的问题说有有逻辑一点:
比如第次登陆在什么时候发出,然后多长时间后再次发出登陆blabla...

你这频繁切换该怎么理,你得有逻辑的描述清楚才能帮你分析 问题到底是什么
评论 5
引用:s2221219 发表于 2018-05-15 09:02
注销后,在第二次登录前进行初始化,然后马上登录;在其它帖子中看到这条回复”初始化SDK与登录的两个方 ...

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

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

总之,在异步、延迟的情况下,你的这种非正常吹毛求疵式的操作,没法根本性解决,除非自已动代码写的复杂一些,用幂等的方式,过滤掉你这种攻击式的操作。
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部