关于强制一对一(同一个用户只能登录一个客户端)

Michael_wzr

用户登录后,服务端给客户端返回一个client_id,然后我要怎么强制做映射一个uid对应一个client_id?

3615 3 0
3个回答

抽不完的寂寞

登录的时候
$client_id_array = Gateway::getClientIdByUid($uid);
foreach($client_id_array as $cid) {
Gateway::closeClient($cid);
}
Gateway::bindUid($client_id, $uid);

  • 暂无评论
blogdaren

这种场景框架天然支持,你需要做的就是:

调用 Gateway::bindUid() 将 client_id 绑定到当前 uid
不过登陆后,首先要做的 Gateway::getClientIdByUid() 获取到当前uid所有的client_ids后,调用 Gateway::closeClient() 挨个儿关闭连接【即解绑映射关系】 ,然后再行 Gateway::bindUid()
也可以自己做映射,原理类似

  • 暂无评论
Michael_wzr

谢谢各位

  • 暂无评论
年代过于久远,无法发表回答
🔝