野火IM 多端登录的处理

野火IM使用的是类邮箱协议,采用通知拉取的方式,因此可以非常完美的支持多端登录,可以像邮件客户端一样启用任意多个客户端。但在某些场景下,多个客户端登录反而是客户不期望的,所以我们加了下面这个开关

# 是否支持多端登陆
server.multi_endpoint false

当开关打开时,可以由任意平台登录任意多个客户端;当开关关闭时,每个平台只能登录一个客户端,不同平台可以同时在线。

注意平台分为3类,移动平台包括iOS和安卓,PC平台包括Windows、Mac和linux桌面,Web平台就是运行在浏览器上的客户端。

1. 实现逻辑

所有客户端登录都需要getToken这个API来生成token,生成token时会为这个客户端生成session。getToken方法需要传入对应的客户端类型,这样就能根据这个类型检查已经存在的session,踢掉那些需要被踢掉的客户端。被踢掉的客户端则会回到其登录界面。

2. 容易出现的问题

由于踢掉客户端是根据getToken时传入的类型进行判断的,因此必须要确保传入的是正确的类型。

2018 © wildfirechat.cn 京ICP备18060403号-1 all right reserved,powered by Gitbook该文件修订时间: 2020-03-03 22:39:27

results matching ""

    No results matching ""