Files
bakery/src/helpers/network.ts
2025-01-14 17:13:09 -06:00

24 lines
493 B
TypeScript

import net from 'net';
export function testTCPConnection(host: string, port: number, timeout = 5000) {
return new Promise((resolve, reject) => {
const socket = new net.Socket();
const timer = setTimeout(() => {
socket.destroy();
reject(new Error('Connection timed out'));
}, timeout);
socket.connect(port, host, () => {
clearTimeout(timer);
socket.destroy();
resolve(true);
});
socket.on('error', (err) => {
clearTimeout(timer);
reject(err);
});
});
}