1

我正在使用 socket.io 创建一个应用程序我的问题是当用户在同一个浏览器中打开多个选项卡时,它将创建新的会话 ID [socket.id]。如何在所有选项卡中携带相同的会话 ID?

我经历了一些帖子,比如在这些帖子danielbaulig它的使用快速会话中,但是这些帖子将如何帮助我在浏览器中的所有选项卡中携带相同的 socket.io 会话 ID?

上面提到的帖子已经过时了,你能解决这些问题吗?

谢谢..

4

3 回答 3

4

您应该查看express.io,这是一个非常简单的 express 和 socket.io 微框架。它自动处理 express 和 socket.io 会话。

npm install express.io

在此处查看会话支持示例:

https://github.com/techpines/express.io/tree/master/examples#sessions

于 2012-12-30T20:43:40.667 回答
1

回答我自己的问题;

下面的2个帖子帮助我解决了这个问题。如果您遇到同样的问题,那么下面的链接可能会对您有所帮助。

https://gist.github.com/2640463

在 socket.io 中管理多个选项卡(但同一用户)

于 2012-10-06T21:07:04.233 回答
0

你可以试试这个模块express-socket.io-session

它允许您在 express 和 socket.io(反之亦然)之间共享基于 cookie 的会话数据。

因此,即使每个选项卡套接字都有不同的 id,它们也会基于每个选项卡共享的 cookie 共享会话数据,因为它们是相同的 HTTP 代理。

它适用于 express >4.0 和 socket.io >1.0

于 2015-02-27T23:18:26.443 回答