在node.js+;socket.io

在node.js+;socket.io,node.js,socket.io,Node.js,Socket.io,我正在使用node.js和socket.io构建一个webchat;当一个网络用户连接到聊天室时,我为他创建了一个聊天室,我想为聊天室设置变量,这样在聊天室上进行迭代,我就可以得到每个用户的值 有没有办法为房间设置变量,或者我是否需要使用“外部”工具,如数组或db?我创建了一个模块就是为了这个目的: 工作原理: 它创建一个rooms变量,它只是一个不包含任何内容的对象,当用户加入一个房间时,它会检查房间[roomname]是否存在。如果它不存在,将创建房间[roomname],现在您可以对其应用

我正在使用node.js和socket.io构建一个webchat;当一个网络用户连接到聊天室时,我为他创建了一个聊天室,我想为聊天室设置变量,这样在聊天室上进行迭代,我就可以得到每个用户的值


有没有办法为房间设置变量,或者我是否需要使用“外部”工具,如数组或db?

我创建了一个模块就是为了这个目的:

工作原理:
它创建一个rooms变量,它只是一个不包含任何内容的对象,当用户加入一个房间时,它会检查房间[roomname]是否存在。如果它不存在,将创建房间[roomname],现在您可以对其应用变量。这个模块只是让它更容易做到这一点。

一个更普通的方法是将变量存储在
io.sockets.adapter.rooms

它是一个包含当前房间列表的对象

要将变量存储到文件室,只需执行以下操作:

io.sockets.adapter.rooms['MY_AWESOME_ROOM'].myAwesomeVariable = 'state'

io.sockets.adapter.rooms
似乎是一张地图,所以
rooms['MY\u AWESOME\u ROOM']
似乎不起作用