treesummaryrefslogcommitdiff
path: root/src/main.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.zig')
-rw-r--r--src/main.zig19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/main.zig b/src/main.zig
index cf64c8e..b6b2e13 100644
--- a/src/main.zig
+++ b/src/main.zig
@@ -75,16 +75,21 @@ fn handle_request(alloc: std.mem.Allocator, io: Io, stream: Io.net.Stream) void
\\ textarea { width: calc(100% - 8px); height: calc(100% - 60px); }
\\ </style></head><body>
\\ <script>
- \\ const socket = new WebSocket(`wss://${window.location.host}`);
- \\ socket.addEventListener("open", (event) => {
- \\ tv.value += "Connected!\n";
- \\ });
- \\ socket.addEventListener("message", (event) => {
- \\ socket.onmessage = (e) => { tv.value += `[${new Date().toLocaleString()}] ${e.data}\n`; }
- \\ });
+ \\ function tryConnect() {
+ \\ const socket = new WebSocket(`wss://${window.location.host}/ws`);
+ \\ socket.addEventListener("open", (event) => {
+ \\ tv.value += "Connected!\n";
+ \\ });
+ \\ socket.addEventListener("message", (event) => {
+ \\ socket.onmessage = (e) => { tv.value += `[${new Date().toLocaleString()}] ${e.data}\n`; }
+ \\ });
+ \\ return socket;
+ \\ }
+ \\ let socket = tryConnect();
\\ function Send() {
\\ if (tn.value.length == 0) { window.alert("Please enter a name"); return; }
\\ if (tb.value.length == 0) { return; }
+ \\ if (socket.readyState != 1) { socket = tryConnect(); }
\\ socket.send(`${tn.value}: ${tb.value}`);
\\ tb.value = "";
\\ }