diff options
author | lonkaars <loek@pipeframe.xyz> | 2024-03-18 15:48:31 +0100 |
---|---|---|
committer | lonkaars <loek@pipeframe.xyz> | 2024-03-18 15:48:31 +0100 |
commit | af9a3231f3174fd04082b75eddb6a6c6d57654ef (patch) | |
tree | f63cb07388967720f49ad125f274a69dc5ccd61c | |
parent | c13e5adad9dbbc3ab45461099c65c16b5873c760 (diff) |
more extensive readme + cleanup socket
-rw-r--r-- | readme.md | 31 | ||||
-rw-r--r-- | ui/js/socket.js | 10 |
2 files changed, 33 insertions, 8 deletions
@@ -1,9 +1,30 @@ -# tunnel challenge gedoe +# tunnel challenge stuff HMI software stack: -- UI d.m.v. webpagina in vanilla HTML/CSS/JS -- Chromium in kiosk modus om de webpagina fullscreen te weergeven -- websocat om de TCP socket verbinding om te zetten in een WebSocket -- nginx om de webpagina te hosten +- vanilla HTML/CSS/JS webpage as UI +- display webpage fullscreen using Chromium in kiosk mode +- use websocat to convert TCP socket connections to WebSocket +- nginx for static hosting + +## bonus bits + +- mock WebSocket server + ```sh + websocat -s 8081 + ``` +- mock TCP server + ```sh + socat stdio tcp-listen:8079 + ``` + or + ```sh + nc -lp 8079 + ``` + (both of these need `while :; do ... ; done` loops to keep them running + indefinitely) +- forward TCP server to WebSocket + ```sh + websocat --text ws-listen:127.0.0.1:8081 tcp:127.0.0.1:8079 + ``` diff --git a/ui/js/socket.js b/ui/js/socket.js index 46edb8d..bb739d5 100644 --- a/ui/js/socket.js +++ b/ui/js/socket.js @@ -1,9 +1,9 @@ import api from './api.js'; -var ws = new WebSocket('ws://localhost:8081/socket'); +var ws = new WebSocket('ws://localhost:8081/'); export default ws; -ws.onmessage = ev => { +ws.addEventListener("message", ev => { // this will already throw an error if the message doesn't contain valid JSON const msg = JSON.parse(ev.data); @@ -15,5 +15,9 @@ ws.onmessage = ev => { // run the appropriate message handler api.msg.handle[msg.type](msg); -}; +}); + +ws.addEventListener("close", () => { + console.error("WebSocket closed!"); +}); |