繁体   English   中英

如何通过socket.io发送数组

[英]How to send an array through socket.io

我将所有用户存储在一个数组中,我想通过socket.io将数组发送给所有客户端。 我有这个代码

var players = new Array();

io.on('connection',function(socket){
var player = {
    id: socket.id,
    serverid: 0,
    x: randomInt(100,400),
    y: randomInt(100,400)
};
players[socket.id] =  player;

那就是我存储它然后将其发送给客户的方式

io.emit('new_player',players);

但我得到的只是一个空数组,但发出单个玩家的作品。

整个代码

var players = new Array();

io.on('connection',function(socket){
var player = {
    id: socket.id,
    serverid: 0,
    x: randomInt(100,400),
y: randomInt(100,400)
};
players[socket.id] =  player;
io.emit('new_player',JSON.stringify(players));
socket.on('disconnect',function(){
    console.log('dced');
});

});

使用字典而不是Array来做什么:

var players = {}; // Dictionnary instead of an array

io.on('connection', function(socket){
  var player = {
    id: socket.id,
    serverid: 0,
    x: randomInt(100,400),
    y: randomInt(100,400)
  };

  players[socket.id] =  player;
  io.emit('new_player', players); // Send the dictionnary

  socket.on('disconnect', function(){
    console.log('dced');
  });
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM