From 1c9fc428b9a34ebd6243ea50b0d18bfd948bd2aa Mon Sep 17 00:00:00 2001 From: Zutatensuppe Date: Thu, 24 Dec 2020 15:04:58 +0100 Subject: [PATCH] remove sockets when closed --- server/WebSocketServer.js | 9 +++------ server/index.js | 10 ++++++---- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/server/WebSocketServer.js b/server/WebSocketServer.js index 68fbe0e..b9464ca 100644 --- a/server/WebSocketServer.js +++ b/server/WebSocketServer.js @@ -31,7 +31,6 @@ class WebSocketServer { constructor(config) { this.config = config this._websocketserver = null - this._interval = null this.evt = new EvtBus() } @@ -49,15 +48,13 @@ class WebSocketServer { socket.close() return } - socket.on('message', (data) => { console.log(`ws`, socket.protocol, data) this.evt.dispatch('message', {socket, data}) }) - }) - - this._websocketserver.on('close', () => { - clearInterval(this._interval) + socket.on('close', () => { + this.evt.dispatch('close', {socket}) + }) }) } diff --git a/server/index.js b/server/index.js index 16f240c..736d116 100644 --- a/server/index.js +++ b/server/index.js @@ -121,11 +121,13 @@ const notify = (data, sockets) => { } wss.on('close', async ({socket}) => { - const proto = socket.protocol.split('|') - const clientId = proto[0] - const gameId = proto[1] - if (Game.exists(gameId)) { + try { + const proto = socket.protocol.split('|') + const clientId = proto[0] + const gameId = proto[1] GameSockets.removeSocket(gameId, socket) + } catch (e) { + console.error(e) } })