【发布时间】:2016-11-28 17:38:15
【问题描述】:
我正在编写一个简单的游戏。它基于一个 32x32 正方形的字段。每个方块可以包含一个游戏元素。当元素出现/移动/更改时,服务器会通过 websocket 向所有客户端发送一个包含 2d 数组的 json 对象,该数组类似于整个游戏场及其所有元素。
当发送到多个客户端时,这是相当多的数据,每秒多次。
所以我想知道如何减少这种情况。
我认为这将有助于从客户已经收到的大数组中删除所有内容。但如果你有这样的事情:
var gameField = [];
gameField[6][10] = "player1";
console.log(JSON.stringify(gameField));
它转换为:
[null,null,null,null,null,null,[null,null,null,null,null,null,null,null,null,null,"player1"]]
这确实是不必要的开销。
它不能生成类似的东西吗?
{"6": {"10":"player1"}}
顺便说一句,我正在使用 node.js 作为游戏服务器。
那么如何减少数据呢?是否有特殊的 JSON.stringify 方法?
【问题讨论】:
-
如果你使用普通对象而不是数组,它可能会有
标签: javascript arrays json node.js