Задать вопрос
@Banan44
Full Stack

Как не отключать юзера после перезагрузки страницы socket io?

Пишу чат с использованием библиотеки socket io. Событие disconnect срабатывает при перезагрузке страницы, тем самым отключая юзера от чата. Я не хочу этого делать, я хочу что бы юзер отключался только после закрытия вкладки или окна браузера. Первое что пришло в голову - использовать sessionStorage, setTimeout, но как это реализовать максимально грамотно? Может в самой библиотеке есть что-то позволяющее упростить задачу?
disconnect отправляет сообщение всем участникам в беседе (комнате) о том что юзер отключился
  • Вопрос задан
  • 263 просмотра
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
  • Академия Эдюсон
    Fullstack-разработчик на JavaScript + ИИ
    11 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Инженер по тестированию + ИИ
    6 месяцев
    Далее
Решения вопроса 1
@p3trukh1n
NooB IN WeB
Убрать отправку дисконнекта при самом дисконнекте не выйдет.
Как вариант, можно сделать так:
Сервер получает дисконнект, ждет какое-то время (например 10 секунд), и если за это время пользователь не переподключился (id сокета меняется, не забывай), то отправляет всем пользователям сообщение
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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