socket.io关于room和在房间里广播发消息的疑问
- socket.io的服务器端如何区分用户是通过cookie还是其他的信息?0.9.x的实现有通过cookie及保存昵称来实现的。
- socket.io的房间与用户的对应关系通用的做法是存在redis这样的缓存中吗?
6 回复
- cookie or token, 可以放在 header or querystring 中. websocket 握手是一次 HTTP 请求
- socket.io room 跟 用户对应关系放内存 io.sockets.adapter.rooms 即是所有的房间 & client id 对应关系
即使你使用了 socket.io-redis , 房间数据还是放在内存的, redis 只用来 pub/sub
@magicdawn 使用最新版的socket.io,在浏览器中的js中使用原来的 document.cookie = “nickname=” + $(’#nickname’).val() + “;; path=/”;这种方式没效果。