node.js - 如何使用socket.io在所有套接字之间共享对象?

标签 node.js socket.io

我正在努力创建一个对象来存储房间中的客户端数量。它看起来像这样:{ Room0: 1, Room1: 4, Room2: 3},每当发生套接字连接/断开(加入或离开房间)时,该对象都会更新,并且所有现有套接字都可以随时访问它。

有没有简单的方法可以做到这一点?

最佳答案

您可以在全局范围内(在 onMessage 或 onEvent 监听器之外)设置一个变量。然后,在您的加入房间代码中,您将有一个部分可以添加到房间计数中。这是一种粗略的方法。

var rooms = {大厅:0,厨房:0}

在您的房间加入部分中,假设他们加入了大厅,那么您将在该 block 内执行此操作:

rooms.lobby++

然后,任何套接字想要知道大厅里的人数只需调用:

rooms.lobby

关于node.js - 如何使用socket.io在所有套接字之间共享对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31373575/

相关文章:

node.js - Node.js 中的 JSON.stringify

javascript - 在类外部调用函数与在类内部调用函数有什么区别?

node.js - 在 Node : socket. io 或 net 模块中创建客户端-服务器 TCP 连接

android - RESTful API 或 Socket.IO

javascript - 只允许经过 passportjs 身份验证的用户访问 protected 页面

javascript - 如何使用 Node.js 作为网站的门户

node.js - Moment.js startOf 返回一天结束

javascript - 事件.js :160 throw er;//Unhandled 'error' event

ios - 无法将类型 'NSURL' 的值转换为 'SocketIO.SocketManagerSpec

javascript - 关于以下代码中的socket.io事件 Hook 的问题