X-Git-Url: http://git.purplebirdman.com/go.git/blobdiff_plain/1ab140d932b72040eb3b32af2f7fb367b6401805..ebabc03e28da8ebdb2fee01e7a9c562bcce394c5:/socket/server.js diff --git a/socket/server.js b/socket/server.js index 017bebd..cb62184 100644 --- a/socket/server.js +++ b/socket/server.js @@ -29,10 +29,10 @@ async function pollStatefulChange(ws, session_id) { "data": await db.getBoardState(session_id) })); } - await sleep(1000); } catch(err) { console.log(`websocket poll error: ${err}`); } + await sleep(1000); } } @@ -41,10 +41,9 @@ app.ws('/ws', async function(ws, req) { var session_id = 0; db.initBoard(); - // send initial message to draw client board + // get session ID ws.send(JSON.stringify({ - "type": "board", - "data": await db.getBoardState(session_id) + "type": "session" })); ws.on('message', async function(msg) { @@ -52,6 +51,15 @@ app.ws('/ws', async function(ws, req) { try { parsed = JSON.parse(msg); switch (parsed.type) { + case "session": + session_id = parsed.data.session + + // send initial message to draw session client board + ws.send(JSON.stringify({ + "type": "board", + "data": await db.getBoardState(session_id) + })); + break; case "new": ws.send(JSON.stringify({ "type": "new",