iNeedHelp
@iNeedHelp

Как правильно закрыть веб-сокет?

Здравствуйте. Для сокетов использую модуль ws. Как только пользователь заходит на сайт, я выполняю const ws = new WebSocket('ws://localhost:9000');. Потом эта переменная ws отправляется на сервер и добавляется в массив, где хранятся все клиенты. Соответственно, когда пользователь ушёл с сайта, мне нужно из этого массива каким-то образом удалить один элемент. Как это реализовать?

Я пробовал на клиенте вешать обработчик ws.onclose = function() {...}, но он не срабатывает, когда пользователь закрывает вкладку
  • Вопрос задан
  • 552 просмотра
Решения вопроса 2
SagePtr
@SagePtr
Еда - это святое
Удалять нужно не на стороне клиента, а на стороне сервера. Соответственно, на стороне сервера нужно и ловить это событие, когда сокет отключился.
Ответ написан
Комментировать
function closeIt()
{
  ///Your Function
}
window.onbeforeunload = closeIt;

Про удаление пользователя из массива CLick
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы