X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=sockets.js;h=21742d1dbb662440cc07bfba4fb6643dee5c9ace;hb=d44df0b01732d1948525daef5df62211ea6e1f64;hp=e411050dbde2c6f58a8da437f4cb8bb97d1225b3;hpb=edcd679ab1fe609641451586ef1e9484925c4f83;p=vchess.git diff --git a/sockets.js b/sockets.js index e411050d..21742d1d 100644 --- a/sockets.js +++ b/sockets.js @@ -13,13 +13,16 @@ 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) => { let clients = { "index": {} }; let games = {}; //pending games (player sid) for (const v of variants) - clients[v.name] = {}; + clients[v.id] = {}; // No-op function as a callback when sending messages const noop = () => { }; wss.on("connection", (socket, req) => { @@ -41,7 +44,7 @@ module.exports = function(wss) { // Send counting info const countings = {}; for (const v of variants) - countings[v.name] = Object.keys(clients[v.name]).length; + countings[v.id] = Object.keys(clients[v.id]).length; socket.send(JSON.stringify({code:"counts",counts:countings})); } else @@ -49,7 +52,7 @@ module.exports = function(wss) { // Send to every client connected on index an update message for counts Object.keys(clients["index"]).forEach( k => { clients["index"][k].send( - JSON.stringify({code:"increase",vname:page}), noop); + JSON.stringify({code:"increase",vid:page}), noop); }); // Also notify potential opponents: // hit all clients which check if sid corresponds @@ -136,7 +139,7 @@ module.exports = function(wss) { // Send to every client connected on index an update message for counts Object.keys(clients["index"]).forEach( k => { clients["index"][k].send( - JSON.stringify({code:"decrease",vname:page}), noop); + JSON.stringify({code:"decrease",vid:page}), noop); }); } // Also notify potential opponents: