socket.io无法传递数组抛出的发射

时间:2018-02-14 17:06:34

标签: javascript arrays socket.io emit

我一直在研究某种类型的游戏,我必须将一个可用作阵列的地图传递给玩家。我已经查看过建议将数组作为对象传递的其他帖子,但这会产生以下问题: 1.用户没有收到对象或数组 2.我得到了一个脚本,只要客户端(dis)连接就会记录,并告诉我客户端总是连接和断开连接。 (可能是客户端超时并尝试重新连接?)

服务器代码如下所示:

io.sockets.on('connection', onConnect);

function onConnect(socket) {
  console.log("We have a new client: " + socket.id);
  socket.emit('field', {fields});

  socket.on('disconnect', function() {
    console.log("Client " + socket.id + " has disconnected!");
  });
}

客户端代码:

socket = io.connect('http://localhost:3000');

socket.on("field",
  function(data) {
    console.log(data);
  }
);

我能够传递数组的单个对象,但不能传递整个对象......

编辑: 代码本身可以使用字符串,但不能使用我希望传递的数组...

1 个答案:

答案 0 :(得分:0)

我发现socket.io无法发出大型数组(最大数组长度略小于8000(数组填充了包含2个属性的对象))。可能这是某种类型的存储错误(可能是用户特定的)......