const net = require('net');
// Create a server that doesn't respond
const server = net.createServer((socket) => {
console.log('Client connected');
// Don't respond to any data
socket.on('data', () => {
console.log('Data received but not responding');
});
socket.on('end', () => {
console.log('Client disconnected');
});
socket.on('error', (err) => {
console.error('Server socket error:', err.message);
});
});
// Start the server
const PORT = 3002;
const HOST = 'localhost';
server.listen(PORT, HOST, () => {
console.log(`Test server running at ${HOST}:${PORT}`);
// Create a client with a timeout
const client = new net.Socket();
// Set a timeout of 2 seconds
client.setTimeout(2000);
client.connect(PORT, HOST, () => {
console.log('Connected to server');
// Send some data
client.write('Test message');
});
// Handle data (shouldn't receive any)
client.on('data', (data) => {
console.log(`Received: ${data}`);
});
// Handle timeout
client.on('timeout', () => {
console.log('Socket timeout - no response from server');
client.end();
});
client.on('close', () => {
console.log('Connection closed');
server.close();
});
client.on('error', (err) => {
console.error('Client error:', err.message);
server.close();
});
});
// Close server after 5 seconds if not already closed
setTimeout(() => {
if (server.listening) {
console.log('Closing server...');
server.close();
}
}, 5000);