默认
发表评论 5
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
[已回复] O求教MobileIMSDK实现多端登陆互踢功能的疑问
如图,互踢实现根据实际情况应该考虑2个流程:测试准备: 2个手机,设备A和设备B,都登陆同一个账户:

1,步骤:设备A登陆->设备B登陆,在这里判断就没问题。因为设备A是在线的,onlineSessions.containsKey(user_id) 这里判断没问题。

2,步骤:设备A登陆->设备A按home键或者关闭APP进程,此时会离线->设备B登陆,此时因为设备A离线了,所以没办法知道给设备A发送一个消息告诉他让他退出登陆->设备A打开APP,这样就有2个设备登陆同一个账户。

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

标签:MobileIMSDK

1774BCB8-87E6-4853-83BE-6AB056244118.png (151.16 KB, 下载次数: 2674)

1774BCB8-87E6-4853-83BE-6AB056244118.png
上一篇:[已回复] 小白求助位置信息处理不过来,怎么影响到android端重新登录了下一篇:[已回复] MobileIMSDK的android端发消息 handler错误

本帖已收录至以下技术专辑

推荐方案
评论 5
引用:JackJiang 发表于 2018-04-04 16:53
最好的办法应该是这样:
第一步:每次启动APP第一次登陆时(区别于掉线重连的情况),服务端在它登陆成功 ...

现在的问题关键是,第二个步骤 设备A再次打开app,应该要能知道已经有别的设备登陆了账户,这样设备A就能知道强行退出登陆。并且到登陆界面
引用:JackJiang 发表于 2018-04-04 16:53
最好的办法应该是这样:
第一步:每次启动APP第一次登陆时(区别于掉线重连的情况),服务端在它登陆成功 ...

二是同时保存在在线列表里;   在线列表 OnlineProcessor.onlineSessions 用这个不行吧? 因为设备离线后 会从这个Map里面移除。 如果按照这个逻辑,应该再加一个集合,保存登陆过的用户。
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部