mirror of
https://github.com/KubaPro010/fm-dx-webserver.git
synced 2026-07-29 16:29:19 +02:00
add per-ip limit
This commit is contained in:
+26
-27
@@ -1,30 +1,29 @@
|
||||
var url = new URL('text', window.location.href);
|
||||
url.protocol = url.protocol.replace('http', 'ws');
|
||||
var socketAddress = url.href;
|
||||
var socket = new WebSocket(socketAddress);
|
||||
if (!window.socket || window.socket.readyState === WebSocket.CLOSED || window.socket.readyState === WebSocket.CLOSING) {
|
||||
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
|
||||
window.socket = socket;
|
||||
|
||||
const socketPromise = new Promise((resolve, reject) => {
|
||||
socket.addEventListener('open', () => {
|
||||
console.log('WebSocket connection open');
|
||||
resolve(socket);
|
||||
});
|
||||
|
||||
socket.addEventListener('error', (error) => {
|
||||
console.error('WebSocket error', error);
|
||||
reject(error);
|
||||
});
|
||||
|
||||
socket.addEventListener('close', () => {
|
||||
setTimeout(() => {
|
||||
console.warn('WebSocket connection closed');
|
||||
}, 100);
|
||||
reject(new Error('WebSocket connection closed'));
|
||||
});
|
||||
});
|
||||
|
||||
// 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;
|
||||
window.socketPromise = socketPromise;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user