site-manual-notifier/static/js/sharedWebSocket.js
2020-07-03 04:33:31 -03:00

28 lines
862 B
JavaScript

function restartWebSocket() {
var old_ws = ws_connection;
old_ws.close();
ws_connection = new WebSocket('wss://broadcaster.sfner.com');
ws_connection.onopen = old_ws.onopen;
ws_connection.onclose = old_ws.onclose;
ws_connection.onmessage = old_ws.onmessage;
}
function configureWebSocket() {
var joinRoomCmd = `@joinRoom:${document.location.hash.substr(1)}`;
ws_connection.send(joinRoomCmd);
}
function onMessageFromWebSocket(message) {
handleMessage(JSON.parse(message.data));
}
function onBeforeUnload() {
ws_connection.onclose = function () { };
ws_connection.close();
}
var ws_connection = new WebSocket('wss://broadcaster.sfner.com');
ws_connection.onopen = configureWebSocket;
ws_connection.onclose = restartWebSocket;
ws_connection.onmessage = onMessageFromWebSocket;
window.onbeforeunload = onBeforeUnload;