Мне нужно добавить автоматическое переподключение (через некоторое время ..) к событию 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 ..
Как я могу переподключить сервер?