84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
重复登录怎么解决比如两台设备同时登录一个账号
认证高级PHP讲师
解决方案有两类,第一类是主动式的,当你第二个客户端登陆时,通知第一个客户端退出登陆,这种需要客户端与服务端长链接。第二类是被动式,客户端登陆时会获取一个token,之后每次操作都带上token,当每次登陆时会更新token,由此,当第二个登陆时,第一个登陆的token将会失效,此时退出登陆
可以集成第三方如环信,有重复登录踢出功能,不过如果只是为了这个功能倒没必要,还是通过和接口设计吧
如果是做聊天得话 那就是长连接,服务器可以主动去断开用户的连接。和QQ一样如果只是普通的功能来说的,都是通过token的方式去挤掉对方的下线,但是这个必须要请求网络接口才会有作用,一般接口设计,每个请求head中都带来token信息,但是你也可以通过推送消息直接发送给客户端,去做下线的提示。
如果是自己做的话使用自定义的消息通知,当一个账号已经登陆,另一个设备再次登陆该账号时,让服务器发送通知给第一个设备,设备接收到通知后可以进行退出.如果是使用第三方即时通讯就比较简单了,账号被登陆后即时通讯会有一个监听方法,在该方法中进行操作就行了
一般不允许一个账号在两台手机登录,除非有特殊需求,你可以过去手机设备参数进行唯一验证,作为账号参数
需要服务端同学做限制
解决方案有两类,第一类是主动式的,当你第二个客户端登陆时,通知第一个客户端退出登陆,这种需要客户端与服务端长链接。
第二类是被动式,客户端登陆时会获取一个token,之后每次操作都带上token,当每次登陆时会更新token,由此,当第二个登陆时,第一个登陆的token将会失效,此时退出登陆
可以集成第三方如环信,有重复登录踢出功能,不过如果只是为了这个功能倒没必要,还是通过和接口设计吧
如果是做聊天得话 那就是长连接,服务器可以主动去断开用户的连接。和QQ一样
如果只是普通的功能来说的,都是通过token的方式去挤掉对方的下线,但是这个必须要请求网络接口才会有作用,一般接口设计,每个请求head中都带来token信息,但是你也可以通过推送消息直接发送给客户端,去做下线的提示。
如果是自己做的话使用自定义的消息通知,当一个账号已经登陆,另一个设备再次登陆该账号时,让服务器发送通知给第一个设备,设备接收到通知后可以进行退出.
如果是使用第三方即时通讯就比较简单了,账号被登陆后即时通讯会有一个监听方法,在该方法中进行操作就行了
一般不允许一个账号在两台手机登录,除非有特殊需求,你可以过去手机设备参数进行唯一验证,作为账号参数
需要服务端同学做限制