Login8
@Login8
Программист, критик, наватор

Как сделать чтобы websocket соединения не разрывалось когда комп уходит в спящий режим?

Здравствуйте уважаемые знатоки.
То-есть представте, у вас на сайте чат с вебсокетами, все работает замечательно, даже если чат открыт в фоновой вкладке (как известно хром приглушает активность фоновых вкладок), вебсокет соединение выполняется в вебворкере js. Это обязательно если мы не хотим чтобы хром обрубал всю активность вкладки с чатом когда она станет фоновой и мы например переключимся на вкладку с ютюбом.
Так вот все вышеописанное работает хорошо но до того момента как наш комп не уйдет в спящий режим, и тогда , примерно через 30 сек вебсокет соединения разрывается. Js код я приводить не буду, нет смысла, кто знает концепцию, как заставить все это работать когда ком в спящем режиме, может кто то сталкивался?
  • Вопрос задан
  • 128 просмотров
Решения вопроса 1
vabka
@vabka
Токсичный шарпист
Так вот все вышеописанное работает хорошо но до того момента как наш комп не уйдет в спящий режим, и тогда , примерно через 30 сек вебсокет соединения разрывается

По вполне понятной причине:
Вебсокет работает поверх TCP. Когда в рамках TCP-соединения не передаются никакие сообщения - оно разрывается, причём вроде аж на уровне провайдера.

Смысла держать вебсокет работающим даже когда компьютер не работает нет, как и технической возможности.
Просто учитывай это и поднимай вебсокет заново, если он вдруг разорвался.
Можно попутно ещё запросить сообщения, которые были отправлены с момента разрыва (например с даты последнего полученного сообщения)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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