Get your own Node server
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);

              
Test server running at localhost:3002
Client connected
Connected to server
Data received but not responding
Socket timeout - no response from server
Connection closed
Client disconnected