我使用的是带有Node.js的Socket.io,我想将用户配对并将它们发送到新房间。将另一个用户移动到使用Socket.io的房间
当用户连接时,在io.on('connection')
之内,我确定它们与等待在数组中配对的用户的兼容性。
如果加入的用户与等待的用户兼容,我想将他们都移到新房间。
这是我目前的做法。注意:[1029387,1983934,9243802]
是一组用户标识。
var pendingPlayers = {
"spelling": {
"level1":[1029387,1983934,9243802],
"level2":[]
}
}
io.on('connection', function(socket) {
// check compatibility
// move current player and other queued player to new room
});
我唯一的想法是socket.emit('room', 'new room name');
从服务器到客户端,为排队的玩家这个ID发送回服务器,然后使用:
io.on('connection', function(socket) {
socket.on('room', function(room) {
socket.join(room);
});
});
然而,发送房间名称客户端,然后将其发送回服务器似乎非常牵强。我希望有一个更简单的方法。
您的建议,感激地收到。
为什么从服务器发送室到客户端?只需将客户端从服务器移动到该房间即可。无需要求客户帮你做到这一点。 – jfriend00
谢谢jfriend00,但我需要将另一个用户移动到另一个房间(而不是用户)。希望这是有道理的? – Joel
没有理由不能在服务器上按照你想要的那样做 - 对于当前连接到服务器的任何用户。您使用哪些信息来识别您的用户? – jfriend00