node.js - 我们可以在Socket.IO中将数据添加到房间吗

标签 node.js sockets socket.io

我正在尝试使用express和socket.io创建一个2人游戏。游戏是一个简单的游戏,所需的数据结构是一个矩阵。有没有一种方法可以将此矩阵附加到房间并对其进行更改。还是应该将矩阵连接到两个插槽上,然后以这种方式进行?

最佳答案

没有一种将您自己的数据添加到房间对象的受支持的方法。您当然可以将矩阵放在两个socket.io对象上,这可能是最简单的解决方案。这就产生了一些限制,即套接字永远不会出现在多个游戏中,并且一旦用户断开连接,矩阵就会丢失(也许是可以的限制)。

另一种方法是使用您自己的Map对象,其中键是房间名称,值是矩阵。因此,每当为新房间创建矩阵时,只需将其放在自己的 map 中即可。

// create matrix map
let matrixMap = new Map();

// set a matrix for a room
matrixMap.set(roomName, newMatrix).

// get a matrix for a room
let matrix = matrixMap.get(roomName);

关于node.js - 我们可以在Socket.IO中将数据添加到房间吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49671854/

相关文章:

javascript - 从 Node 请求 Elasticsearch 超时

node.js - Sequelize 将 ID 字段设置为 null(非顺序)

node.js - 如何检查我的 pm2 应用程序 NODE_ENV 是否已设置?

Python 套接字从服务器接收到不一致的消息

java - 通过套接字发送图片(Java PC - Android)

node.js - 使用 bluebird 与 socket.io 不起作用

javascript - 上传大文件并对其进行解析时出现 fatal error Node.js v10.15.1

linux - 主动关闭服务器套接字

javascript - 聊天页面发送消息后jquery向上滚动

socket.io - 如何让 Socket.io 与 Svelte 一起工作?