Node.js 将nodejs post参数传递到套接字连接
我正在尝试编写简单的nodejssocket程序来显示连接的用户列表。我在映射username和socket.id时遇到问题 以下是服务器端代码:Node.js 将nodejs post参数传递到套接字连接,node.js,sockets,ejs,Node.js,Sockets,Ejs,我正在尝试编写简单的nodejssocket程序来显示连接的用户列表。我在映射username和socket.id时遇到问题 以下是服务器端代码: app.post('/login', function(req, res){ var user = { id: socket.id,//how to get this socket.id? username: req.body.username,
app.post('/login', function(req, res){
var user = {
id: socket.id,//how to get this socket.id?
username: req.body.username,
loggedInTime: new Date()
};
connectionsArray.push(user);
res.render('main');
});
io.on('connection', function(socket){
console.log('Connecting user ' + socket.id);
if (connectionsArray.length > 0) {
setInterval(function(){
io.sockets.emit('connectionsArray', connectionsArray);
},1000);
}
socket.on('disconnect', function() {
connectionsArray = connectionsArray.map(function(conn){
return conn.id != socket.id;
});
console.log('user disconnected with' + socket.id);
});
});
有人能帮我在post请求中获取socket.id吗?
或者另一种方法是将post请求信息(用户)传递给io连接块 我建议在使用socket.io时使用json web令牌对用户进行身份验证 这是一篇很好的文章,它解决了你所面临的问题。
谢谢您的建议,但我愿意在此处将一些post请求参数传递给io.connection block。我需要保持用户名和socket.id之间的映射