почему клиент socket.io отправляет свой собственный прослушиватель ... даже если сервер отключен? - PullRequest
0 голосов
/ 20 июня 2019

Я столкнулся со странной проблемой при использовании сокета io после многих лет. Несколько лет назад я мог использовать следующий код на стороне клиента

socket.emit('user', {userId: 2});
// and somewhere else in the code id listen for incoming 'user' replies
socket.on('user',(reply) => {
    // do something with user data received from server
});

Теперь, когда у меня один и тот же код на стороне клиента, и я посылаю запрос "пользователь", обратный вызов socket.on ('user') немедленно запускается с полезной нагрузкой запроса, которая должна была перейти на сервер (который вне форума).

Я думал, что слушатели socket.on () были вызваны только ответами от сервера, а не исходящими сообщениями от самого клиента.

Предполагается ли так работать с socket.io или я что-то упустил в конфигурации?

1 Ответ

0 голосов
/ 20 июня 2019

Я думаю, что решил эту проблему, случайно наткнувшись на другой пост о том, как socket.io поддерживает соединение.

socket.emit ('user', {userId: 2});был пример.В моем реальном приложении я использовал имя события «ping», которое, похоже, зарезервировано для socket.io.Клиент постоянно пингует и прослушивает пинги.

Итак, когда я добавил свой собственный слушатель socket.on ('ping'), он подключился к внутренней системе ping / pong socket.io.(по крайней мере, я так думаю)

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