1
0
mirror of https://github.com/KubaPro010/fm-dx-webserver.git synced 2026-02-27 06:23:53 +01:00

potential fix for rare incorrect port reconnect

This commit is contained in:
Amateur Audio Dude
2025-04-20 17:21:14 +10:00
committed by GitHub
parent ea3b0d8ced
commit 1fc1ef614a

View File

@@ -2,7 +2,8 @@ var audioStreamRestartInterval;
var elapsedTimeConnectionWatchdog; var elapsedTimeConnectionWatchdog;
var _3LAS_Settings = /** @class */ (function () { var _3LAS_Settings = /** @class */ (function () {
function _3LAS_Settings() { function _3LAS_Settings() {
this.SocketHost = document.location.hostname ? document.location.hostname : "127.0.0.1"; this.SocketHost = location.hostname ? location.hostname : "127.0.0.1";
this.SocketPort = location.port;
this.SocketPath = "/"; this.SocketPath = "/";
this.Fallback = new Fallback_Settings(); this.Fallback = new Fallback_Settings();
} }
@@ -69,14 +70,14 @@ var _3LAS = /** @class */ (function () {
console.log("Stream connection watchdog active."); console.log("Stream connection watchdog active.");
let intervalReconnectWatchdog = setInterval(() => { let intervalReconnectWatchdog = setInterval(() => {
if (Stream) { if (Stream) {
var endTimeConnectionWatchdog = performance.now(); let endTimeConnectionWatchdog = performance.now();
elapsedTimeConnectionWatchdog = endTimeConnectionWatchdog - window.startTimeConnectionWatchdog; elapsedTimeConnectionWatchdog = endTimeConnectionWatchdog - window.startTimeConnectionWatchdog;
//console.log(`Stream frame elapsed time: ${elapsedTimeConnectionWatchdog} ms`); //console.log(`Stream frame elapsed time: ${parseInt(elapsedTimeConnectionWatchdog)} ms`);
if (elapsedTimeConnectionWatchdog > 2000 && shouldReconnect) { if (elapsedTimeConnectionWatchdog > 2000 && shouldReconnect) {
clearInterval(intervalReconnectWatchdog); clearInterval(intervalReconnectWatchdog);
setTimeout(() => { setTimeout(() => {
clearInterval(intervalReconnectWatchdog); clearInterval(intervalReconnectWatchdog);
console.log("Unstable internet connection detected, reconnecting (" + elapsedTimeConnectionWatchdog + " ms)..."); console.log("Unstable internet connection detected, reconnecting... (" + parseInt(elapsedTimeConnectionWatchdog) + " ms)");
this.Stop(); this.Stop();
this.Start(); this.Start();
}, 2000); }, 2000);
@@ -93,10 +94,10 @@ var _3LAS = /** @class */ (function () {
this.WakeLock.Begin(); this.WakeLock.Begin();
try { try {
if (window.location.protocol === 'https:') { if (window.location.protocol === 'https:') {
this.WebSocket = new WebSocketClient(this.Logger, 'wss://' + this.Settings.SocketHost + ':' + location.port.toString() + window.location.pathname + 'audio' , this.OnSocketError.bind(this), this.OnSocketConnect.bind(this), this.OnSocketDataReady.bind(this), this.OnSocketDisconnect.bind(this)); this.WebSocket = new WebSocketClient(this.Logger, 'wss://' + this.Settings.SocketHost + ':' + this.Settings.SocketPort.toString() + window.location.pathname + 'audio' , this.OnSocketError.bind(this), this.OnSocketConnect.bind(this), this.OnSocketDataReady.bind(this), this.OnSocketDisconnect.bind(this));
} }
else { else {
this.WebSocket = new WebSocketClient(this.Logger, 'ws://' + this.Settings.SocketHost + ':' + location.port.toString() + window.location.pathname + 'audio' , this.OnSocketError.bind(this), this.OnSocketConnect.bind(this), this.OnSocketDataReady.bind(this), this.OnSocketDisconnect.bind(this)); this.WebSocket = new WebSocketClient(this.Logger, 'ws://' + this.Settings.SocketHost + ':' + this.Settings.SocketPort.toString() + window.location.pathname + 'audio' , this.OnSocketError.bind(this), this.OnSocketConnect.bind(this), this.OnSocketDataReady.bind(this), this.OnSocketDisconnect.bind(this));
} }
this.Logger.Log("Init of WebSocketClient succeeded"); this.Logger.Log("Init of WebSocketClient succeeded");
this.Logger.Log("Trying to connect to server."); this.Logger.Log("Trying to connect to server.");