Подскажите ка закрыть абсолютно все соединения вебсокета?
Запускаю по onclick на ссылках, в ports[id] подставляется нужный порт (сервер настроен и слушает каждый). Проблема в том что если покликать часто то откроется много соединений (сервер присылает информацию каждую секунду и она разная в зависимости от порта), а нужно слушать только один.
Не получается убить все соединения или перезаписывать их.
function create() {
ws = new WebSocket('<?php echo WS_PROTOCOL . SITE; ?>:' + ports[id]);
ws.onopen = function () {
console.log('WebSocket opened');
}
ws.onmessage = function (e) {
obj = JSON.parse(e.data);
//
}
ws.onclose = function () {
console.log('WebSocket closed');
}
return true;
}
Перерыл гугл и сам выдумывал велосипеды с флагами но ничего не получилось.
переменная ws глобальная и пытался по флагам отрубать ws.close() перед новым соединением, но соединение как я понял требует времени и поэтому при частых кликах они могут опережать друг друга.