我需要访问req.session.user._id以获取socket.io在连接用户时检测到的功能。类似下面的代码:
io.on('connection', function(socket){
console.log('a user connected with the id of: '+req.session.uder._id);
})
我需要在我的io.on('connect')中访问id的原因是告诉与该用户聊天的用户,他是在线还是离线。 因此,如果他在线并经过身份验证,我们会做这样的事情:
io.emit("status:"+req.session.user._id, 'online');
然后其他正在查看此用户状态的用户知道他的状态。
这样做的正确方法是什么? 我应该在io.on('connect')中访问它吗?或者我应该以其他方式做到这一点? 提前谢谢
答案 0 :(得分:0)
此模块将有助https://www.npmjs.com/package/passport.socketio 它允许对expressjs和socket.io
使用相同的会话存储https://www.npmjs.com/package/passport.socketio#socketrequestuser-as-of-v1
可以使用授权用户