Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.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
使用Node.js和Socket.IO聊天室创建并加入存储在mongodb中的自定义聊天室_Node.js_Mongodb_Express_Socket.io - Fatal编程技术网

使用Node.js和Socket.IO聊天室创建并加入存储在mongodb中的自定义聊天室

使用Node.js和Socket.IO聊天室创建并加入存储在mongodb中的自定义聊天室,node.js,mongodb,express,socket.io,Node.js,Mongodb,Express,Socket.io,我开始为移动设备开发聊天应用程序,我决定使用Node.jsplusSocket.IO来构建主要功能。基本上,我想要实现的是用户和聊天组之间的私人消息传递系统,用户可以创建该系统。每个人都可以加入聊天室,这些聊天室将被存储到mongodb。为了在数据库中创建房间,我将使用Express和一个包含基本数据(房间名称、描述)的简单请求 我对所有的Node.js/Socket.IO都很陌生,所以我不知道应该在哪里查询所有可用房间的数据库。我的想法是: 使用Express获取可用聊天室的JSON列表 列出

我开始为移动设备开发聊天应用程序,我决定使用
Node.js
plus
Socket.IO
来构建主要功能。基本上,我想要实现的是用户和聊天组之间的私人消息传递系统,用户可以创建该系统。每个人都可以加入聊天室,这些聊天室将被存储到
mongodb
。为了在数据库中创建房间,我将使用
Express
和一个包含基本数据(房间名称、描述)的简单请求

我对所有的
Node.js
/
Socket.IO
都很陌生,所以我不知道应该在哪里查询所有可用房间的数据库。我的想法是:

  • 使用
    Express
    获取可用聊天室的JSON列表
  • 列出所有可用的聊天室。点击其中一个,然后
  • 获取聊天室的“名称”或“id”,并使用它执行以下操作

    io.sockets.on('connection', function (socket, room) {
        socket.join(room);
        socket.broadcast.to(room).send('Hello room!');
    });
    

  • 当用户选择房间时,我必须进行连接,对吗?如果是这样,房间将成为连接的标志?

    我删除了redis标签,希望它能将您的观众范围缩小到正确的范围。我看不出关于redis的任何问题。如果您需要自定义功能,只需自己管理“房间”。另外,既然已经在使用Socket.IO,为什么还要麻烦JSON提要呢?我会在那里结束所有的通信,节省一些带宽。