AleksandrB
@AleksandrB
Совсем недавно вывел "Hello world"

Как восстановить подключение к сокету?

При загрузке js подключается к сокет-серверу, но если соединение пользователя с интернетом разорвать, сокет закрывается до перезагрузки. Как восстановить соединение?
Интервал
setInterval(function () {
    if (!sockets) {
        console.log('Проверочка на сокет');
        ws = new WebSocket('ws://123.1.123.223:8001/');
    }
}, 5000)

к результату не приводит.
Как возобновить соед-е?
  • Вопрос задан
  • 880 просмотров
Решения вопроса 1
AleksandrB
@AleksandrB Автор вопроса
Совсем недавно вывел "Hello world"
Вот какое у меня получилось решение:
Соединение с сокетом закидываем в функцию, например:
let interval;

function start() {
   clearInterval(interval);
   ws = new WebSocket('ws://123.1.123.223:8001/');


   ws.onopen = function() {
        sockets = true;
        console.log('Соединение с сокет-сервером Установленно');
    };

    ws.onclose = function() {
        sockets = false;
        console.log('Соединение с сокет-сервером Закрыто');
    };

    interval = setInterval(function () {
        if (!sockets) {
            start();
        }
    }, 5000)
}

да, не очень элегантно
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Stalker_RED
@Stalker_RED
а что проверяет эта проверочка?
Ответ написан
profesor08
@profesor08 Куратор тега JavaScript
Просто проверь состояние сокета, если закрыт, то подключись заново. Делать перед запросом. Все просто.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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