X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=sockets.js;h=60434b5e2b7aa9b69a8de572fcf3a167d84a2b03;hb=b57dbd126734b4398861292c611197c6991ed3eb;hp=11fe91ccc8079e07c91e899c7c62608b1d217fcb;hpb=a48ee8b80ae4902f1e70629a608396fe3ff046d0;p=vchess.git diff --git a/sockets.js b/sockets.js index 11fe91cc..60434b5e 100644 --- a/sockets.js +++ b/sockets.js @@ -13,6 +13,9 @@ function getJsonFromUrl(url) { return result; } +// TODO: empêcher multi-log du même user (envoyer le user ID + secret en même temps que name et...) +// --> si secret ne matche pas celui trouvé en DB, stop + module.exports = function(wss) { db.serialize(function() { db.all("SELECT * FROM Variants", (err,variants) => { @@ -100,20 +103,21 @@ module.exports = function(wss) { // Start a new game const oppId = games[page]["id"]; const fen = games[page]["fen"]; + const gameId = games[page]["gameid"]; delete games[page]; - const mycolor = Math.random() < 0.5 ? 'w' : 'b'; + const mycolor = (Math.random() < 0.5 ? 'w' : 'b'); socket.send(JSON.stringify( - {code:"newgame",fen:fen,oppid:oppId,color:mycolor})); + {code:"newgame",fen:fen,oppid:oppId,color:mycolor,gameid:gameId})); if (!!clients[page][oppId]) { clients[page][oppId].send( JSON.stringify( - {code:"newgame",fen:fen,oppid:sid,color:mycolor=="w"?"b":"w"}), + {code:"newgame",fen:fen,oppid:sid,color:mycolor=="w"?"b":"w",gameid:gameId}), noop); } } else - games[page] = {id:sid, fen:obj.fen}; //wait for opponent + games[page] = {id:sid, fen:obj.fen, gameid:obj.gameid}; //wait for opponent break; case "cancelnewgame": //if a user cancel his seek delete games[page];