FreeDATA/gui/src/js/event_sock.js

44 lines
1.2 KiB
JavaScript
Raw Normal View History

2023-11-09 09:37:45 +00:00
let socket;
let retries = 0;
let maxRetries = 15;
function connect() {
2023-11-09 12:52:27 +00:00
socket = new WebSocket("ws://localhost:5000/events");
// handle opening
socket.addEventListener('open', function (event) {
console.log('Connected to the WebSocket server');
retries = 0; // Reset the retries back to 0 since the connection was successful
});
// handle data
socket.addEventListener('message', function (event) {
console.log('Message from server:', event.data);
console.log('Message from server:', event);
});
// handle errors
socket.addEventListener('error', function (event) {
console.error('WebSocket error:', event);
});
// handle closing and reconnect
socket.addEventListener('close', function (event) {
console.log('WebSocket connection closed:', event.code);
// Reconnect handler
if (!event.wasClean && retries < maxRetries) {
setTimeout(() => {
console.log("Reconnecting to websocket. Attempt: " + retries)
connect();
}, 1000);
retries++;
}
});
2023-11-09 09:37:45 +00:00
}
// Initial connection attempt
connect();