Привет
Вот пример кода:
На сервере:
...
function start(socket) {
setInterval(() => {
socket.emit('update', Date.now());
}, 2e3);
}
function main(io) {
let connectons = [];
let index = 0;
io.on('connection', (socket) => {
socket.on('start', () => {
const { id }= socket;
if (!connectons[id]) {
connectons[id] = true;
const group = `gr-${index}`;
socket.join(group);
++index;
start(io.to(group));
// setInterval(() => {
// socket.emit('update', Date.now());
// }, 1e3);
}
});
});
}
main(io);
на клиенте:
socket.on('update', (time) => {
console.log(time);
});
$('#start').click(() => {
socket.emit('start');
});
Если на 1 из клиентов длать клик на кнопки, в консоли видем логи на всех клиентов. Почему так? Я жду логи только на клиенте на которым нажал на кнопку.
Если не вызывать start() а сразу setInterval(() => { .... то все работает как я ожидаю
Помогите помочь почему так.