X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=sockets.js;h=675a80eb6d51f7ba36941bf48dcdf36e2b843843;hb=0b7d99ecbb5dedc02cd96c457b5fc2962db9b297;hp=452cb6e0915c144617ff9878b69d7daade6cc2d3;hpb=098e8468ae7a52a55850c09f90506f52b8133567;p=vchess.git diff --git a/sockets.js b/sockets.js index 452cb6e0..675a80eb 100644 --- a/sockets.js +++ b/sockets.js @@ -25,6 +25,12 @@ module.exports = function(wss) { const params = new URL("http://localhost" + req.url).searchParams; const sid = params.get("sid"); const page = params.get("page"); + // Ignore duplicate connections: + if (!!clients[page][sid]) + { + socket.send(JSON.stringify({code:"duplicate"})); + return; + } clients[page][sid] = socket; if (page == "index") { @@ -88,6 +94,9 @@ module.exports = function(wss) { else games[page] = {id:sid, fen:obj.fen}; //wait for opponent break; + case "cancelnewgame": //if a user cancel his seek + delete games[page]; + break; case "resign": if (!!clients[page][obj.oppid]) clients[page][obj.oppid].send(JSON.stringify({code:"resign"}), noop);