Swoole学习笔记七:搭建WebSocket长连接 之 使用 USER_ID 作为身份凭证
2年前
阅读 3678
评论 0
喜欢 0
### 0、前言
前面基本的WebSocket操作,我们基本都已经掌握了,接下来我们要学习的是怎么用`user_id`去关联一个fd凭证呢?
按我们的思路应该是在`data`存储器中,将`fd`替换成`user_id`,但这样在server的`close`事件中,就需要用遍历的方式去读取关闭的对应连接了。
这样费时的操作,肯定不是我们想要的。
实际上,我们只需要新增一个`open`连接存储器记录`fd`即可,然后在`code=1`的时候用`user_id`更新到原来的`data`存储器中即可。
### 1、注意事项
① 客户端全部使用`user_id`作为身份凭证
② 服务端新建一个open存储器
③ 服务端在`code=1`时,在从open存储器中读取`fd`凭证写入data存储器中。
④ 服务端在`close`事件中记得清除已经关闭的open存储器凭证,防止存储器无限增大。
### 2、客户端代码修改:
```
// +----------------------------------------------------