Как избавиться от нескольких сообщений, после переподключения к webSockets?

c194ec9e29174d689a597f5774e837b5.pngЗдравствуйте, решил использовать socket.io. Все было нормально, пока не стало приходить несколько сообщений от сервера.

После переподключения, приходящие сообщений от сервера дублировались. Как буд-то после срабатывания disconnect, обработчик событий socket.onmessage не удалялся.

socket = io.connect('http://locahost/');

socket.on('connect', function () {
	socket.on('reconnect', function(){
		console.log('Пеподключился');
	});
	
	socket.on('disconnect', function(){
		console.log('Отключился');
	});

	socket.on('message', function(obj) {
		console.log('Пришло сообщение');
	});
});
  • Вопрос задан
  • 2538 просмотров
Решения вопроса 1
Sanasol
@Sanasol Куратор тега JavaScript
нельзя просто так взять и загуглить ошибку
не биндить события внутри подключения.

при реконнекте срабатывает connect событие и снова все socket.onы биндятся.

В итоге сколько реконнектов столько и дублей
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@PyTiMa
Учусь, кручусь, верчусь.
У вас socket.io работает? Устанавливается через npm?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы