Get your own Node server
const net = require('net');

// Create a TCP server
const server = net.createServer((socket) => {
  console.log('Client connected');
  
  // Handle data from client
  socket.on('data', (data) => {
    console.log(`Received from client: ${data}`);
    
    // Send a response back to the client
    socket.write('Hello from server!');
  });
  
  // Handle client disconnection
  socket.on('end', () => {
    console.log('Client disconnected');
  });
  
  // Handle errors
  socket.on('error', (err) => {
    console.error('Socket error:', err.message);
  });
});

// Start the server
const PORT = 3000;
const HOST = 'localhost';

server.listen(PORT, HOST, () => {
  console.log(`Server listening on ${HOST}:${PORT}`);
});

// Handle server errors
server.on('error', (err) => {
  console.error('Server error:', err.message);
});

// Close server after 10 seconds for demo purposes
setTimeout(() => {
  console.log('Closing server...');
  server.close(() => {
    console.log('Server closed');
  });
}, 10000);

              
Server listening on localhost:3000
Client connected
Received from client: Hello from client!
Client disconnected
Closing server...
Server closed