1
0
mirror of https://github.com/KubaPro010/fm-dx-webserver.git synced 2026-02-27 14:33:52 +01:00

Merge pull request #181 from AmateurAudioDude/v1.3.11-tcp-latency-check

TCP for server region latency check
This commit is contained in:
Marek Farkaš
2025-12-02 10:43:49 +01:00
committed by GitHub

View File

@@ -240,19 +240,27 @@ function checkIPv6Support(callback) {
}); });
} }
function checkLatency(host) { function checkLatency(host, port = 80, timeout = 2000) {
return new Promise(resolve => { return new Promise(resolve => {
const start = Date.now(); const start = Date.now();
const req = http.get({ host, timeout: 2000 }, res => { const socket = net.connect({ host, port });
res.resume(); // discard body
resolve(Date.now() - start); socket.setTimeout(timeout);
socket.on("connect", () => {
const latency = Date.now() - start;
socket.destroy();
resolve(latency); // ms
}); });
req.on("error", () => resolve(null)); // server offline socket.on("timeout", () => {
req.on("timeout", () => { socket.destroy();
req.destroy(); resolve(null); // timed out
resolve(null); });
socket.on("error", () => {
resolve(null); // offline
}); });
}); });
} }