marketing/client-websocket.js

27 lines
979 B
JavaScript
Raw Normal View History

2026-05-21 10:49:45 +00:00
(() => {
2026-05-21 11:03:24 +00:00
const socketUrl = 'ws://192.168.1.149:9878';
2026-05-21 10:49:45 +00:00
let socket = new WebSocket(socketUrl);
socket.addEventListener('close', () => {
const interAttemptTimeoutMilliseconds = 100;
const maxDisconnectedTimeMilliseconds = 3000;
const maxAttempts = Math.round(
maxDisconnectedTimeMilliseconds / interAttemptTimeoutMilliseconds,
);
let attempts = 0;
const reloadIfCanConnect = () => {
attempts++;
if (attempts > maxAttempts) {
console.error('Could not reconnect to dev server.');
return;
}
socket = new WebSocket(socketUrl);
socket.addEventListener('error', () => {
setTimeout(reloadIfCanConnect, interAttemptTimeoutMilliseconds);
});
socket.addEventListener('open', () => {
location.reload();
});
};
reloadIfCanConnect();
});
})();