一个帐号多设备登录的处理

编程知识 更新时间:2023-05-02 02:33:02
    多设备登录的问题处理,远没有看起来那么简单。除了设计理念,安全方面的考量外,在技术上处理
也是个麻烦事。
    列几种情况:
    情况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/xcl168


更多推荐

一个帐号多设备登录的处理

本文发布于:2023-04-25 07:24:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/bfc852d67f8840d853bcefba571281d3.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:帐号   设备

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 102402文章数
  • 26160阅读数
  • 0评论数