2 fangfei2007910 fangfei2007910 于 2015.07.13 10:08 提问

ios app 如何实现在一台设备上登陆的时候另一台设备就注销的功能
ios

ios app 如何实现在一台设备上登陆的时候另一台设备就注销的功能,就如同QQ的多设备登陆时候的另一台设备上的账号自动退出。

7个回答

Awllif
Awllif   2015.07.13 11:43

这个需服务端有消息通讯机制,或者客户端有定时检索机制,APP登录服务端分配一个SESSIONID给对应客户端,每次登录后SESSIONID都会有变化,客户端监测到本地id与服务端不一致,就强制退出;

zhao18933
zhao18933   2015.07.13 13:32

每一台设备连接服务端时,服务端都会收到消息,只要让服务端在检测到重复登录后给其他设备下发一个注销指令就可以了
如果你的IM服务器不是自己的,而是用那些即时通讯云平台,那就要对方给你提供这样的功能才能实现

fangfei2007910
fangfei2007910   2015.07.13 14:03

服务接口是我们自己的,我们使用的php。每一次客户端与服务器通信就是靠客户端请求实现;也就是说每次通信都得由客户端发起,没有找到服务器向客户端下发消息的机制,不知道这个机制怎么实现;
定时检索机制对服务器会有较大压力,尤其频繁检索的话,所以希望能找到服务器端向客户端发送消息的机制

coybe_cao
coybe_cao   2015.07.13 19:32

最省事的就是登录前,先清除服务器上原有的登录状态一次。

zuishikonghuan
zuishikonghuan   2015.07.13 21:16

如果要立即注销,那就需要心跳包来实现

fangfei2007910
fangfei2007910   2015.07.14 00:54

@coybe:需要注销其他设备的登录状态;
@zuishikonghuan:正是需要立即注销,那还需要研究一下心跳包是什么

fangfei2007910
fangfei2007910   2015.07.14 00:53

@coybe:需要注销其他设备的登录状态;
@zuishikonghuan:正是需要立即注销,那还需要研究一下心跳包是什么

Csdn user default icon
上传中...
上传图片
插入图片