Socket.io服务器端广播

时间:2015-09-20 15:25:35

标签: javascript node.js sockets socket.io

我想更新服务器上的数组并将其广播给所有客户端。我面临的问题是我需要广播客户端参数。在服务器上:

    var socket = io.listen(8000);
    var plateaus = [];

    setInterval(function () {
        plateaus.push('new data');
       -- send the updated array to all clients --
    }, 1000);

    socket.sockets.on("connection", setEventListeners);

    function setEventListeners(client) 
       // loadExistingPlayer(client); <- normally I use the client param
    }

如何广播更新的阵列?非常感谢!

1 个答案:

答案 0 :(得分:1)

回答我自己的问题(希望将来能帮助任何人)。

您可以将客户端参数存储在数组中并随时访问它:

var socket = io.listen(8000);
var plateaus = [];
var clients = []

setInterval(function () {
    plateaus.push('new data');
    for(var i = 0; i < clients.length; i++){
       clients[i].emit('updata all clients',  plateaus)
    }
}, 1000);

socket.sockets.on("connection", setEventListeners);

function setEventListeners(client) 
   console.log('new client');
   clients.push(client);
}