socket.id возвращается как неопределенный в массиве Node.js, Socket.io - PullRequest
0 голосов
/ 04 декабря 2018

Я хочу сохранить файл socket.id в массиве и случайно выбрать подключенного пользователя для передачи ему данных, хотя socket.id возвращаются как неопределенные, как я могу сохранить и получить файл socket.id?Вот мой код:

var players = [];

// Socket Connection
io.on('connection', function(socket){

    console.log('A user has connected.', socket.id);

    players.push(socket.id);

    console.log(players);

});

1 Ответ

0 голосов
/ 04 декабря 2018

Нет необходимости создавать свой собственный массив идентификаторов, socket.io уже имеет действующий, то есть он обновляется всякий раз, когда клиенты присоединяются или уходят.Используйте io.connected:

Хэш Socket объектов, подключенных к этому пространству имен, проиндексированных id.

Youможно получить массив только идентификаторов, используя Object.keys():

console.log(Object.keys(io.connected)); // array of ids

или массив самих сокетов, используя Object.values():

console.log(Object.values(io.connected)); // array of Socket objects
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...