From c9732eb5b44bd0bf10b9f28ffdee1ad61a401048 Mon Sep 17 00:00:00 2001 From: saber-nyan Date: Mon, 6 Apr 2020 21:40:03 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=BF=D0=BE=D0=B4?= =?UTF-8?q?=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B2=D0=B5?= =?UTF-8?q?=D0=B1=D1=81=D0=BE=D0=BA=D0=B5=D1=82=D0=BE=D0=B2=20=D0=BF=D1=80?= =?UTF-8?q?=D0=B8=20=D0=BE=D0=B1=D1=80=D1=8B=D0=B2=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.vue | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/App.vue b/src/App.vue index a48c866..cfd2f7e 100644 --- a/src/App.vue +++ b/src/App.vue @@ -42,16 +42,22 @@ }, methods: { connectWs() { + if (this.websocket !== null) return; this.websocket = new SockJS(this.$http.defaults.baseURL + '/ws'); this.websocket.onopen = () => { console.info('[WS] Connected'); }; this.websocket.onclose = (ev) => { console.info('[WS] Disconnected', ev.code, ev.reason); + this.websocket = null; if (ev.code === 1008) { console.info('[WS] Security timeout, reconnecting...'); this.connectWs(); } + if (ev.code !== 1000) { // Normal closure + setTimeout(this.connectWs, 3000); + console.info('[WS] Reconnecting...'); + } }; this.websocket.onmessage = (ev) => { const parsed = JSON.parse(ev.data);