socket.io在命名空间中获取套接字的变量

时间:2017-02-25 03:41:17

标签: javascript node.js socket.io

我正在使用socket.io 1.7.2并尝试使用我在命名空间 - room中定义的变量来捕获所有用户。

这里的例子:

io.of('/playspace')
    .on('connection', function (socket) {
        socket.join('lobby');
        socket.on('apply user data', function (userData) {
            //Defined data to this (user)
            socket.username = userData.username;
            socket.balance = 1000;
        }
    });

我用

获取用户列表
console.log(io.nsps['/playspace'].adapter.rooms['lobby']);

问题:

  1. 如何使用我定义的变量检索用户,如...

    console.log(io.nsps['/playspace'].adapter.rooms['lobby'][0].username);

  2. 如何循环和获取

  3. (这里是exmaple它的工作,但没有命名空间和空间)

    for (var clientId in io.sockets.clients().connected ) {
        this_client = io.sockets.connected[clientId];
        console.log(this_client.username);
    }
    

    但是有了命名空间和空间,我不知道

1 个答案:

答案 0 :(得分:0)

我找到了解决方案......

答案:

1

io.of('/playspace').sockets[socket.id].username

等待2