exponential backoff
This commit is contained in:
		@@ -1472,6 +1472,7 @@ function on_ws_opened()
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
	ws.send("SERVER DE CLIENT client=openwebrx.js type=receiver");
 | 
						ws.send("SERVER DE CLIENT client=openwebrx.js type=receiver");
 | 
				
			||||||
	divlog("WebSocket opened to "+ws_url);
 | 
						divlog("WebSocket opened to "+ws_url);
 | 
				
			||||||
 | 
						reconnect_timeout = false;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
var was_error=0;
 | 
					var was_error=0;
 | 
				
			||||||
@@ -1852,6 +1853,8 @@ function audio_init()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var reconnect_timeout = false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function on_ws_closed()
 | 
					function on_ws_closed()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	try
 | 
						try
 | 
				
			||||||
@@ -1860,9 +1863,16 @@ function on_ws_closed()
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
	catch (dont_care) {}
 | 
						catch (dont_care) {}
 | 
				
			||||||
	audio_initialized = 0;
 | 
						audio_initialized = 0;
 | 
				
			||||||
	divlog("WebSocket has closed unexpectedly. Attempting to reconnect in 5 seconds...", 1);
 | 
						if (reconnect_timeout) {
 | 
				
			||||||
 | 
						    // max value: roundabout 8 and a half minutes
 | 
				
			||||||
 | 
					    	reconnect_timeout = Math.min(reconnect_timeout * 2, 512000);
 | 
				
			||||||
 | 
						} else {
 | 
				
			||||||
 | 
						    // initial value: 1s
 | 
				
			||||||
 | 
						    reconnect_timeout = 1000;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						divlog("WebSocket has closed unexpectedly. Attempting to reconnect in " + reconnect_timeout / 1000 + " seconds...", 1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	setTimeout(open_websocket, 5000);
 | 
						setTimeout(open_websocket, reconnect_timeout);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function on_ws_error(event)
 | 
					function on_ws_error(event)
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user