X-Git-Url: https://plomlompom.com/repos//%22https:/validator.w3.org/check?a=blobdiff_plain;f=rogue_chat_nocanvas_monochrome.html;h=bc30bde72b98106d7e1078a35baaaed261f196d8;hb=43d0cd09dd33ce5452ee449c7e62f064098cced2;hp=e5bef1aa4d8a55ea2450874ab81def6e346b078b;hpb=6bf479a40acf55042c5ea4834701d09073af172c;p=plomrogue2 diff --git a/rogue_chat_nocanvas_monochrome.html b/rogue_chat_nocanvas_monochrome.html index e5bef1a..bc30bde 100644 --- a/rogue_chat_nocanvas_monochrome.html +++ b/rogue_chat_nocanvas_monochrome.html @@ -175,20 +175,18 @@ let server = { this.url = url; this.websocket = new WebSocket(this.url); this.websocket.onopen = function(event) { - window.setInterval(function() { server.send(['PING']) }, 30000); - this.send('TASKS'); + server.connected = true; + server.send(['TASKS']); tui.log_msg("@ server connected! :)"); tui.switch_mode(mode_login); }; this.websocket.onclose = function(event) { + server.connected = false; + tui.switch_mode(mode_waiting_for_server); tui.log_msg("@ server disconnected :("); - tui.log_msg("@ hint: try the '/reconnect' command"); }; this.websocket.onmessage = this.handle_event; }, - reconnect: function() { - this.reconnect_to(this.url); - }, reconnect_to: function(url) { this.websocket.close(); this.init(url); @@ -253,7 +251,7 @@ let server = { } else if (tokens[0] === 'GAME_ERROR') { tui.log_msg('? game error: ' + tokens[1]); } else if (tokens[0] === 'PONG') { - console.log('PONG'); + ; } else { tui.log_msg('? unhandled input: ' + event.data); } @@ -786,12 +784,6 @@ tui.inputEl.addEventListener('keydown', (event) => { } else { tui.log_msg('? need message target and message'); } - } else if (tokens[0].slice(1) == 'reconnect') { - if (tokens.length > 1) { - server.reconnect_to(tokens[1]); - } else { - server.reconnect(); - } } else { tui.log_msg('? unknown command'); } @@ -876,5 +868,13 @@ window.setInterval(function() { tui.inputEl.focus(); } }, 100); +window.setInterval(function() { + if (server.connected) { + server.send(['PING']); + } else { + server.reconnect_to(server.url); + tui.log_msg('@ attempting reconnect …') + } +}, 5000);