请选择 进入手机版 | 继续访问电脑版

默认
发表评论 3
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
求教IM中实现同一账号多端重复登录时,踢出前面登陆的思路?
情景:
A、B两台设备,先后登录同一账号,此时,只有第一次登录的设备可以收到消息,后面登录的设备收不到消息。
想要达到的结果:
同一账号,多台设备登录,剔除之前登录的设备在线状态,只保留最后一次登录的设备在线。

求支持,感谢大佬!
描述一下具体的解决思路及实现方案。

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

标签:IM开发 求助
上一篇:IM开发基础知识补课(八):史上最通俗,彻底搞懂字符乱码问题的本质下一篇:求教有没有用winform写的仿微信IM PC客户端框架的?

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

推荐方案
评论 3
简单来说思路是这样:

  • 1)由服务端在检测到同一账号,由不同的设备进行重复登陆时,发出重复登陆被踢指令;
  • 2)被踢端底层收到指令后,断开网络连接,并通知上层跳转到登陆界面。

理想情况下,上面的思路够用了,但存在一种情况是:当服务端发出踢出指令时,被踢端设备刚好网络发生闪断等异常情况,导致指令没有收到,那么被踢端可能会认为是正常的断网,并会在网络恢复时进行重连,那这就会把事情搞复杂。

不过,上面的这种情况,可以参考我在这个帖子里的回复(加登陆时间戳来区别是新登陆还是老登陆,具体看帖子):
[已回复] O求教MobileIMSDK实现多端登陆互踢功能的疑问
签名: 《IM开发快速入门(一):什么是IM系统?》:http://www.52im.net/thread-3065-1-1.html
引用:JackJiang 发表于 2019-12-25 15:37
简单来说思路是这样:

已解决此问题,多谢博主!
引用:Lazy... 发表于 2019-12-26 08:38
已解决此问题,多谢博主!

签名: 《IM开发快速入门(一):什么是IM系统?》:http://www.52im.net/thread-3065-1-1.html
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部