- case "pollclients":
- {
- const curPage = clients[sid].page;
- socket.send(JSON.stringify({code:"pollclients",
- sockIds: Object.keys(clients).filter(k =>
- k != sid && clients[k].page == curPage
- )}));
+ }
+ };
+
+ const doDisconnect = () => {
+ deleteConnexion();
+ // Nothing to notify when disconnecting from MyGames page:
+ if (page != "/mygames") {
+ notifyRoom(page, "disconnect");
+ if (page.indexOf("/game/") >= 0)
+ notifyRoom("/", "gdisconnect", { page: page });
+ }
+ };
+ const messageListener = (objtxt) => {
+ let obj = JSON.parse(objtxt);
+ switch (obj.code) {
+ // Wait for "connect" message to notify connection to the room,
+ // because if game loading is slow the message listener might
+ // not be ready too early.
+ case "connect": {
+ notifyRoom(page, "connect");
+ if (page.indexOf("/game/") >= 0)
+ notifyRoom("/", "gconnect", { page: page });