将数据附加到套接字

时间:2016-01-28 18:24:54

标签: node.js sockets socket.io

我想让一些客户端连接到一个带有socket.io的房间,然后将他们的信息存储到一个对象(如用户列表)

如果他们离开频道,我希望自动删除该条目。

如何将一些“外部”信息挂钩到套接字?有可能吗?

示例:

名为“joe”的用户连接

socket.emit('joinRoom', {username: 'joe'});

在服务器上,我想做类似

的事情
socket.on('joinRoom', function(msg) {
    userData.push(msg.username);    //  <-- how can i simplify/automatize this?
}

是否有内置的东西来管理用户?

(问题来自于我想要将护照用户信息挂钩到套接字。使用护照登录joe,服务器req知道这一点。但套接字没有,因为没有{{1总之)

最终,我希望能够说“向以joe身份登录的用户发送套接字消息”。如果乔离开频道,将他从用户列表中删除等

可能吗?你会怎么做?我的做法错了吗? 感谢

1 个答案:

答案 0 :(得分:1)

您可以向套接字对象添加属性:

socket.on('joinRoom', function(msg) {
socket.username=msg.username;   
}

如果要修改的插座不是发射器,您可以通过

进行
io.sockets.connected[socket.id].username=msg.username

但你需要他的身份。