Socket.io:实时聊天设计,初始化房间和人员列表的更好方法



我正在尝试使用socketnode创建一个会议应用程序。到目前为止,请遵循本教程(https://scotch.io/tutorials/a-realtime-room-chat-app-using-node-webkit-socket-io-and-mean)我看到他们正在列出使用Mongo聊天的可用用户列表。

我的会议应用程序由可用房间和人员组成(因此有可用房间列表和位于房间内的人员列表,或者不在房间内的任何位置,您无法与不在房间的人员聊天)。如果我只在一个变量中列出房间和人员的列表,而不在数据库中,这会更好吗?(新加入的人有可能访问该变量吗?)?如果真的使用变量,那么有多少并发用户连接可以同时连接,比如如果我使用变量方法,我应该只允许1000个用户同时连接吗?

我建议您继续使用MongoDB。不过,您实际上不会存储连接。您需要存储房间ID(以及它们的名称、描述等)和用户ID。在"用户"集合中,您还可以存储他们的姓名、个人简介、联机/脱机状态等。您可以在每次新用户连接时构建一个新文档,也可以实现某种身份验证系统,以便用户可以从多个来源登录。

如果你使用MongoDB,你真的不必担心有太多人在线。它可以处理你给它的任何东西。

最新更新