我们可以在Socket.IO中向房间添加数据吗?

时间:2018-04-05 11:59:29

标签: node.js sockets socket.io

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

1 个答案:

答案 0 :(得分:0)

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

另一种方法是使用您自己的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);