Повторное подключение веб-сокета к событию onClose - PullRequest
0 голосов
/ 06 ноября 2018

Мне нужно добавить автоматическое переподключение (через некоторое время ..) к событию onClose ().
Я обернул стандартный объект websocket в пользовательский класс / функцию:

function IoWebSocket( url, port, mode) {

  this.url = url;
  this.isOpen = false;
  ...
  this.wsOpen = function() {
    ws = new WebSocket( ... );

    try {
        ws.onopen = function() {
            console.info("onOpen");
            ..
        }
        ..
        ws.onclose = function(){
            this.isOpen = false;
            console.info("onClose");
            setTimeout(function() {
                console.info("Reconnecting ..");
                wsOpen();
            }, 10000);
        }

    } catch(exception) {
        alert('Error: ' + exception); 
    }
}

Бывает, что обратный вызов onclose вызывается, но браузер выдает ошибку:

ReferenceError: wsOpen is not defined at ..  

Я также пытался с this.wsOpen(), но я получаю сообщение об ошибке:

TypeError: this.wsOpen is not a function at ..  

Как я могу переподключить сервер?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...