You've already forked fm-dx-webserver
mirror of
https://github.com/KubaPro010/fm-dx-webserver.git
synced 2026-02-26 22:13:53 +01:00
* Fixed rare unprompted auto-restart stream bug (bkram) [/web/js/3las/main.js] * Fixed multiple tooltip bug while RDS PS is tentatively loaded [/web/js/main.js] * Changed copying of plugin files to symlinks (junction for Windows) [/server/plugins.js] * Auto-reconnect audio stream on restored/changed internet connection [/web/js/3las/3las.js] * Main WebSocket connection can be shared with plugins [/web/js/websocket.js] [/web/index.ejs]
31 lines
1.1 KiB
JavaScript
31 lines
1.1 KiB
JavaScript
var url = new URL('text', window.location.href);
|
|
url.protocol = url.protocol.replace('http', 'ws');
|
|
var socketAddress = url.href;
|
|
var socket = new WebSocket(socketAddress);
|
|
|
|
const socketPromise = new Promise((resolve, reject) => {
|
|
// Event listener for when the WebSocket connection is open
|
|
socket.addEventListener('open', () => {
|
|
console.log('WebSocket connection open');
|
|
resolve(socket); // Resolve the promise with the WebSocket instance
|
|
});
|
|
|
|
// Event listener for WebSocket errors
|
|
socket.addEventListener('error', (error) => {
|
|
console.error('WebSocket error', error);
|
|
reject(error); // Reject the promise on error
|
|
});
|
|
|
|
// Event listener for WebSocket connection closure
|
|
socket.addEventListener('close', () => {
|
|
console.warn('WebSocket connection closed');
|
|
reject(new Error('WebSocket connection closed')); // Reject with closure warning
|
|
});
|
|
});
|
|
|
|
// Assign the socketPromise to window.socketPromise for global access
|
|
window.socketPromise = socketPromise;
|
|
|
|
// Assign the socket instance to window.socket for global access
|
|
window.socket = socket;
|