【发布时间】:2017-07-21 18:38:49
【问题描述】:
如果用户打开新页面或刷新页面,有什么方法可以在客户端保持相同的 socket.io 连接,也许将套接字存储在会话中,或者这是不可能的?
【问题讨论】:
-
对不起,我遇到了问题,因为每次客户端连接到我的 socket.io 时,他都会获得一个新的 socket.id,我想确定该用户向所有打开的连接发送消息仅限客户端,所以我搜索了一下,我可以用 socket.io 房间解决我的问题
-
没错。每个新连接都会获得一个新 ID。如果您想要持久引用来识别用户,您应该使用新连接时在
socket.request.headers.cookie中可用的cookie,如果不存在,您可以使用socket.io 中间件设置cookie。或者,您可以使用 express-session 之类的东西进行更一般的持久会话,然后也可以从 socket.io 访问它。
标签: node.js websocket socket.io