Излучение Socket.io не вызывается - PullRequest
0 голосов
/ 10 апреля 2020

Я пытаюсь испустить две вещи из-за разрыва соединения, и одна - это перенаправление.

На стороне сервера:

 socket.on('disconnect', () => {
    socket.broadcast.emit('user-disconnected', users[socket.id]);
    socket.emit('redirect', destination);
    console.log('disconnect: '+ users[socket.id]);
    delete users[socket.id];
  });

На стороне клиента:

Это называется очень:

socket.on('user-disconnected', username => {
    appendMessage(username+ ' est parti.');
    removeUser(username);
});

Это не:

socket.on('redirect', function(destination) { // never gets called…
    window.location.href = destination;
});

Знаете ли вы, почему мой серверный номер вызывается, отключается от пользователя, а не мое перенаправление?

Большое спасибо, если вы помогаете!

1 Ответ

1 голос
/ 10 апреля 2020

Вы отправляете:

socket.emit('redirect', destination);

в только что отсоединенную розетку. Вы буквально пытаетесь отправить сообщение с события disconnect. Этот сокет не может отправлять больше сообщений. Вы можете socket.broadcast.emit(...) отправить все остальные сокеты, но не на этот.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...