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);