Имеется код на стороне сервера:
let players = [];
let count = 1;
io.on("connection", (socket) =>
{
socket.on("server", () => {
players.push(
{
id: socket.id,
count: count,
});
count++;
socket.emit("state", players);
});
socket.on("disconnect", () => {
players.pop();
socket.emit("state", players);
count--;
});
});
и на стороне клиента:
const socket = io();
socket.on("state", (data) =>
{
for(let i = 0; i < data.length; i++){
const hello = document.createElement("div");
console.log(`ID игрока ${data[i].id} номер игрока: ${data[i].count}`);
// hello.innerText = `ID игрока ${data[i].id} номер игрока: ${data[i].count}`;
// document.body.appendChild(hello);
};
});
Что понял, пока изучал проблему: список игроков получает, запрос "server" отправляется, но почему-то не отправляется запрос "state", в чём причина?
Также нашёл ошибку:
Error: operation has timed out
at Timeout._onTimeout
обнаружил, что state всё-таки приходит, но до цикла дело не доходит, данные - undefined
p.s
подключал client.js в body, в самом конце