如何在socket.io中使用express req变量

时间:2016-07-12 21:23:03

标签: node.js sockets express routes

因此,我尝试做的是当有人加载我的网站并通过护照进行身份验证时,他们的userId会存储在我req.user.id的{​​{1}}中。现在我想要做的是这样:

app.get('/home', funciton(req, res)

这基本上是我尝试做的事情,但我知道这是非常错误的。现在我的问题是如何将app.get('/home'. function(req, res){ io.on('connection', function(socket){ socket.emit('userId', req.user.id); }); } 提供给客户端,以便我可以在将来与服务器交互时使用它。

2 个答案:

答案 0 :(得分:0)

您好像正在接收GET请求并使用Express吗?您可能在查询字符串中传递了用户ID,因此您将要使用:

this

这基本上会拉出分配给查询字符串中的键的值。

来源:http://expressjs.com/en/api.html#req.query

我还建议在查询字符串中发送类似?userid = 12345的内容,而不是查询字符串中的对象(user.id),因为编码对象会不必要地添加更多并发症而不需要。

答案 1 :(得分:0)

您可以使用带有socket.io的快速会话 有一个名为express-socket.io-session

的npm模块