#Xmpp开发# 解决Android和IOS可登录相同账号而不被挤掉的问题

最近在开发即时通讯模块的时候发现了一个问题:同平台之间可以相互挤掉用户,而跨平台也就是Android和IOS之间可以登录相同的账号,以Android为例,通常情况下,A设备在登录一个用户后,若B设备也登录相同账户,openfire后台就会把A设备的连接关掉,而A设备在连接监听中,也可以监听到自己被关闭的消息,从而去做一些处理。然而蹊跷的是,在实际过程中,IOS登录后,Android设备并没有监听到相关消息;反向测试也一样。无奈之下,我向后台人员要了openfire后台的地址,想看看用户的状态,这一看,还真就找到问题了!如图:



名称均为200054的用户居然有两个!它们的区分在于资源名称不同,这就是问题的所在了,通过查阅资料发现,原来xmpp是支持同账号多平台登录的,而资源名称就标记了不同平台的一些信息,这样想来QQ在你被挤掉的时候,会告诉你一些登录你账号的设备信息,也许也是通过这个解析这个资源名称得到的吧(个人臆测)更多关于这方面的资料可以查看这个链接:点击打开链接,了解了基本原理,这个问题就好解决了,只要和IOS那边统一一下资源名称就ok了!测试一下,完美!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值