X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=server%2Fsockets.js;h=ba14df95d54d3816b27d733c9f2ff1a1ba27b5a7;hb=f5f51daf4515c43d11bc5d739660ac213abec613;hp=da748f0642fd12b60a94cb48ad03f83fb30effeb;hpb=8b152adaed809e759bb2507ade9d2273783c4a39;p=vchess.git diff --git a/server/sockets.js b/server/sockets.js index da748f06..ba14df95 100644 --- a/server/sockets.js +++ b/server/sockets.js @@ -52,6 +52,16 @@ module.exports = function(wss) { delete clients[page]; } }; + const doDisconnect = () => { + deleteConnexion(); + if (!clients[page] || !clients[page][sid]) + { + // I effectively disconnected from this page: + notifyRoom(page, "disconnect"); + if (page.indexOf("/game/") >= 0) + notifyRoom("/", "gdisconnect", {page:page}); + } + }; const messageListener = (objtxt) => { let obj = JSON.parse(objtxt); switch (obj.code) @@ -68,14 +78,7 @@ module.exports = function(wss) { } case "disconnect": // When page changes: - deleteConnexion(); - if (!clients[page] || !clients[page][sid]) - { - // I effectively disconnected from this page: - notifyRoom(page, "disconnect"); - if (page.indexOf("/game/") >= 0) - notifyRoom("/", "gdisconnect", {page:page}); - } + doDisconnect(); break; case "killme": { @@ -148,9 +151,6 @@ module.exports = function(wss) { case "askgame": case "askfullgame": { - // DEBUG: - //console.log(sid + " " + page + " " + obj.code + " " + obj.target + " " + obj.page); - //console.log(clients); const pg = obj.page || page; //required for askidentity and askgame const tmpIds = Object.keys(clients[pg][obj.target]); if (obj.target == sid) //targetting myself @@ -202,7 +202,7 @@ module.exports = function(wss) { }; const closeListener = () => { // For tab or browser closing: - deleteConnexion(); + doDisconnect(); }; // Update clients object: add new connexion if (!clients[page])