node.js - Socket.io限制用户数量

标签 node.js angularjs socket.io

我正在尝试构建一个基于聊天室的应用程序,其中每个房间只能有 2 个人。

它还需要记住用户进入房间的顺序。它是在聊天室类型套接字示例上进行扩展,但允许成对的人使用“房间”,然后可以玩“随机游戏”,即会有一个房间“大厅”或“创建一个房间”,每个房间将是 1 人或 2 人(且已满)。

我似乎无法弄清楚如何限制连接到 socket.io 房间的人数?

可能吗?

最佳答案

您必须实现自己的逻辑。但是,您可以通过以下方式计算房间中的客户数量:

io.sockets.clients('room')

这将返回房间中所有客户端的 Socket 实例数组。检查该数组的长度是否大于或小于 2。如果一个新客户端想要加入一个已经有 2 个客户端的房间,那么您可以轻松阻止他这样做。希望这对您有用。

关于node.js - Socket.io限制用户数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21766791/

相关文章:

node.js - 加密存储在环境变量中的密码

javascript - JS 无法更改 className

node.js - 对 Socket.io 和 Express.js 之间的关系感到困惑

javascript - 递归 javascript 函数 - 失控

javascript - 使用 Nan 检查 node.js 插件中的 instanceof

javascript - Angular JS : Using filter/directive to modify the generated output

javascript - 如何使用 Angular JS 在 x-editable 中同时选中两个复选框

python-3.x - 后台任务不发出

node.js - 在 socket.io 上设置高关闭超时是否安全?

mysql - 如何使用 Node.js 将数据保存到 mysql 服务器