现在我是用Gateway/workerman的text协议的,我该怎样影射生成的client_id到我需要uid呢?

807750811

现在我是用Gateway/workerman的text协议的,我该怎样影射生成的client_id到我需要uid呢?前面我看过说建立一个表是client_id与uid的关系,但是我怎样得到当前我连接对象的uid呢?

4434 2 0
2个回答

walkor

客户端连接后需要发送自己的用户uid标识,例如uid+密码,或者一个网页的session_id等等,workerman根据标识检查用户是否合法,如果合法得到uid,将uid放置session中,例如$_SESSION=xxx; 这样以后这个客户端再发来数据,就可以根据$_SESSION判断当前用户是否合法,也就可以得到当前用户的uid了。

如果需要uid到client_id的映射,可以将对应关系存储在数据库或者memcache、redis存储中。验证用户合法设置 $_SESSION=xxx; 时将 client_id uid 的映射关系存入数据库,当onClose时通过client_id删除对应关系。uid与client_id可以一对多(一个用户可以登录多个客户端pc、网页、app等),也可以强制一对一,每个用户只能用一个客户端登录。

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