一个帐号多设备登录的处理
来源:互联网 发布:淘宝交钱需要交多少钱 编辑:程序博客网 时间:2024/06/05 04:34
多设备登录的问题处理,远没有看起来那么简单。除了设计理念,安全方面的考量外,在技术上处理
也是个麻烦事。
列几种情况:
情况A:
同用户在多个同类型设备上登录。 如,同一个帐号在多个Android手机上登录.
情况B:
同用户在多个不同类型设备上登录。如,同一个帐号在手机,PC或Pad上登录.
情况C:
在一台手机上,用同一个帐号登录同一个产品旗下的两个不同APP.
......
看到当前你和别人的消息记录。另外,要是某一台设备丢失了,只要不退出。就一直可以看到消息记录等。
2.如果控制不好,服务端会对用户连接管理失去控制。
3.性能也是个麻烦事
4.多设备消息怎么同步
......
要有一个好的组合来区分各种情况.
我想到的大致参数如下:
userID + appID + Platform + DeviceType | 所连serviceID //IOS_DeviceToken
2. 如何群发至同一帐户的多个登录设备
只要订阅了同一个userID,则 PUB/SUB 模式即可
3. 多设备离线消息的拉取与同步
仅以IM消息为例,可以用下图的方式:
也是个麻烦事。
列几种情况:
情况A:
同用户在多个同类型设备上登录。 如,同一个帐号在多个Android手机上登录.
情况B:
同用户在多个不同类型设备上登录。如,同一个帐号在手机,PC或Pad上登录.
情况C:
在一台手机上,用同一个帐号登录同一个产品旗下的两个不同APP.
......
所以情况远比想的麻烦.而且还会带来其它问题.
1.安全问题,支持多设备的话,有可能出现,别人能在另一个你已登录过的设备上,看到当前你和别人的消息记录。另外,要是某一台设备丢失了,只要不退出。就一直可以看到消息记录等。
2.如果控制不好,服务端会对用户连接管理失去控制。
3.性能也是个麻烦事
4.多设备消息怎么同步
......
不过有些业务情况就是需要支持,没办法。
我把怎么处理一个帐号多设备登录简化成三个主要解决的问题.
1. 能同时维持同一帐户的多设备长连接。要有一个好的组合来区分各种情况.
我想到的大致参数如下:
userID + appID + Platform + DeviceType | 所连serviceID //IOS_DeviceToken
2. 如何群发至同一帐户的多个登录设备
只要订阅了同一个userID,则 PUB/SUB 模式即可
3. 多设备离线消息的拉取与同步
仅以IM消息为例,可以用下图的方式:
每个用户在服务端保存一个消息总数,一个最大已读数(不管是哪个设备读的)。 然后客户端本地缓存一个已读消息的最大消息ID.
通过两相对比,由客户端确定要拉取的消息范围。
放客户端,让用户在得到用户的消息状况后,去决定拉取多少条消息,而不是放服务端的原因之一是,这样更灵活点。
万一登录的是个新设备呢?或者每页显示行数发生变化了之类。
先记录到这,真要实现出来远不是个容易事。 牵扯很多东西,不然也不会到现在为止,还有些第三方服务商仍不支持这个功能。
BLOG: http://blog.csdn.net/xcl168
0 0
- 一个帐号多设备登录的处理
- 帐号重复登录处理
- Web 一个帐号多处登录问题
- asp.net防止多用户同时登录一个帐号的方法
- 一个VPN帐号几个人同时登录的方法
- CMCC-EDU一个帐号,多设备共享解决方案
- MSN9多帐号登录
- 登录对方的QQ帐号
- 一个帐号同一时间只能一个人登录
- 一个帐号同一时间只能一个人登录
- 一个帐号同一时间只能一人登录
- 一个帐号同一时间只能一个人登录
- 一个帐号在同一时间只能一个人登录
- 一个帐号同一时间只能一人登录
- java 一个帐号同一时间只能一个人登录
- 一个帐号同一时间只能一个人登录
- spring security 3.0的控制一个帐号只允许一次登录
- java web开发一个帐号同一时间只能一个人登录的功能
- 如何调试MFC中的内存泄漏
- 【小白装系统】——常见问题解决
- DataSet 转Json
- 简单封装AFNetworking
- Activity之间传递参数的方法
- 一个帐号多设备登录的处理
- HTML5之worker
- C++ 静态成员函数使用不需要声明
- 使用控制台程序测试DLL依赖
- spket1.6.23安装 spket破解
- 【J2EE性能分析篇】JVM参数对J2EE性能优化的影响【转】
- OC学习心得之KVC KVO 通知
- hdu 1813(IDA*算法+dfs)
- 不定期更新