27 lines
979 B
JavaScript
27 lines
979 B
JavaScript
|
|
(() => {
|
||
|
|
const socketUrl = 'ws://192.168.1.138:9878';
|
||
|
|
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();
|
||
|
|
});
|
||
|
|
})();
|