4 min read
•Question 59 of 62hardHow 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);