X-Git-Url: https://git.auder.net/?a=blobdiff_plain;f=server%2Fsockets.js;h=2a8e163f4ec7b160da16ce51e3c180bda1a15c60;hb=1efe1d79400ff4b612e8d0fb820e6c4e15f801da;hp=333fe77b47b90c9f77675ed63695b78a816df63b;hpb=5a3da96860d36e5131cc5c7c761ac46fb6787685;p=vchess.git diff --git a/server/sockets.js b/server/sockets.js index 333fe77b..2a8e163f 100644 --- a/server/sockets.js +++ b/server/sockets.js @@ -33,7 +33,7 @@ module.exports = function(wss) { wss.on("connection", (socket, req) => { const query = getJsonFromUrl(req.url); const sid = query["sid"]; - // Ignore duplicate connections (on the same live game that we play): + // Ignore duplicate connections (on the same live game that we play): if (!!clients[sid]) return socket.send(JSON.stringify({code:"duplicate"})); clients[sid] = socket; @@ -49,23 +49,33 @@ module.exports = function(wss) { //console.log(obj.code); switch (obj.code) { - case "askclients": - socket.send(JSON.stringify({code:"clients", sockIds:Object.keys(clients).filter(k => k != sid)})); + case "pollclients": + socket.send(JSON.stringify({code:"pollclients", + sockIds:Object.keys(clients).filter(k => k != sid)})); break; case "askidentity": - clients[obj.target].send(JSON.stringify({code:"identify",from:sid})); + clients[obj.target].send( + JSON.stringify({code:"askidentity",from:sid})); + break; + case "askchallenge": + clients[obj.target].send( + JSON.stringify({code:"askchallenge",from:sid})); + break; + case "askgame": + clients[obj.target].send( + JSON.stringify({code:"askgame",from:sid})); break; case "identity": - clients[obj.target].send(JSON.stringify({code:"identity",user:obj.user})); + clients[obj.target].send( + JSON.stringify({code:"identity",user:obj.user})); break; - case "askchallenges": - // TODO: ask directly to people (webRTC) - // TODO... + clarify socket system + case "challenge": + // Relay challenge to other player + clients[obj.target].send( + JSON.stringify({code:"challenge", chall:obj.challenge, from:sid})); break; - case "newchallenge": - clients[obj.target].send(JSON.stringify({code:"newchallenge",chall:obj.chall})); - case "askgames": - // TODO: ask directly to people (webRTC) + case "game": + // Relay (live) game to other player break; case "newchat": clients[obj.target].send(JSON.stringify({code:"newchat",msg:obj.msg}));