#1 Data Analytics Program in India
₹2,499₹1,499Enroll Now
4 min read
Question 59 of 62hard

How to create TCP servers with the Net module?

Low-level networking with the net module.

What You'll Learn

  • Creating TCP servers
  • TCP clients
  • Socket communication

TCP Server

code.jsJavaScript
const net = require('net');

const server = net.createServer((socket) => {
  console.log('Client connected');

  socket.write('Welcome!\n');

  socket.on('data', (data) => {
    console.log('Received:', data.toString());
    socket.write(`Echo: ${data}`);
  });

  socket.on('end', () => {
    console.log('Client disconnected');
  });

  socket.on('error', (err) => {
    console.error('Socket error:', err);
  });
});

server.listen(3000, () => {
  console.log('Server listening on port 3000');
});

TCP Client

code.jsJavaScript
const net = require('net');

const client = net.createConnection({ port: 3000 }, () => {
  console.log('Connected to server');
  client.write('Hello Server!');
});

client.on('data', (data) => {
  console.log('From server:', data.toString());
});

client.on('end', () => {
  console.log('Disconnected from server');
});

Chat Server Example

code.jsJavaScript
const net = require('net');
const clients = new Set();

const server = net.createServer((socket) => {
  clients.add(socket);
  socket.write('Welcome to chat!\n');

  socket.on('data', (data) => {
    const message = data.toString().trim();
    // Broadcast to all clients
    clients.forEach((client) => {
      if (client !== socket) {
        client.write(`> ${message}\n`);
      }
    });
  });

  socket.on('end', () => {
    clients.delete(socket);
  });
});

server.listen(3000);