Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取连接节点的用户数的方法_Javascript_Node.js_Chat - Fatal编程技术网

Javascript 获取连接节点的用户数的方法

Javascript 获取连接节点的用户数的方法,javascript,node.js,chat,Javascript,Node.js,Chat,我正在编写一个与Node聊天的程序。一切都差不多完成了。有不同的聊天室。示例:如果有人在房间里,只有1个人会从这个房间收到消息。但是我想知道在这个房间(只有这个房间)连接用户的最佳方式 我曾考虑过两种方法,但我不确定它们是否是最好的选择。在服务器中有一个由房间连接的所有用户组成的阵列。2.当用户连接到房间时,将此用户添加到数据库,并在渲染房间时连接这些用户。当它们断开连接时,从数据库中删除 在某种程度上,2选项与第一个选项相同,只是数组在db中。 你还有别的建议吗? 我正在使用mongoose和

我正在编写一个与Node聊天的程序。一切都差不多完成了。有不同的聊天室。示例:如果有人在房间里,只有1个人会从这个房间收到消息。但是我想知道在这个房间(只有这个房间)连接用户的最佳方式

我曾考虑过两种方法,但我不确定它们是否是最好的选择。在服务器中有一个由房间连接的所有用户组成的阵列。2.当用户连接到房间时,将此用户添加到数据库,并在渲染房间时连接这些用户。当它们断开连接时,从数据库中删除

在某种程度上,2选项与第一个选项相同,只是数组在db中。 你还有别的建议吗? 我正在使用mongoose和socket.io

      io.of('/chatroom').on('connection',function(socket) {

       socket.on('join',function(data) {

        db.roomModel.findById(data.roomId,function(err,room) {
            if(err) throw err;
            if(room) {
                // I am storing the users connected in that room
                // in the database 
                room.connections.push({userId : data.userId});
                room.save();
            }

        });
    });
});
然后,当用户断开连接时,我将其从数据库中删除。
建议您这样做。

向我们展示一些代码,在不展示您已经完成的工作的情况下,您希望如何获得帮助?我认为您应该尝试一下,很抱歉没有展示一些代码。我已经做了。我希望你能帮助我