【发布时间】:2017-05-25 14:56:58
【问题描述】:
我一直在研究 Nodejs 和 Socket.io,问题是我正在努力解决如何获取 url 参数 (www.example.com/sample/:sampleid) 并将其用于我的套接字连接。
这是一个例子:
var roomname;
var username;
app.get('/room/:roomname/user/:username', function(req, res){
var room = {
username: req.params.username,
roomname: req.params.roomname
};
roomname = room.roomname;
username = room.username;
res.render('room', room);
});
var users = {};
io.sockets.on('connection', function (socket) {
socket.username = username;
socket.room = roomname;
users[username] = username;
console.log("joining room: " + roomname)
socket.join(roomname);
console.log("emiting to room: " + roomname)
socket.broadcast.to(roomname).emit('newUser', username);
});
我只是将名称存储在 roomname 中并在 io.sockets.on 中使用它,但我认为这是一种 hack,应该是实现此目的的更好方法...
有什么好办法解决这种情况?
【问题讨论】: