Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // echo_server.js
- const net = require('net');
- // Define the port for the echo server to listen on
- const PORT = 12345;
- // Create a TCP server
- const server = net.createServer((socket) => {
- // 'connection' event fires when a new client connects
- console.log(`Client connected from: ${socket.remoteAddress}:${socket.remotePort}`);
- // 'data' event fires when data is received from the client
- socket.on('data', (data) => {
- const receivedMessage = data.toString().trim(); // Convert Buffer to string and trim whitespace
- console.log(`Server: Received "${receivedMessage}" from ${socket.remoteAddress}:${socket.remotePort}`);
- // Echo the received data back to the client
- socket.write(`Echo from Server: "${receivedMessage}"\n`);
- });
- // 'end' event fires when the client disconnects
- socket.on('end', () => {
- console.log(`Client disconnected: ${socket.remoteAddress}:${socket.remotePort}`);
- });
- // 'error' event fires if there's a socket error
- socket.on('error', (err) => {
- console.error(`Socket error for ${socket.remoteAddress}:${socket.remotePort}: ${err.message}`);
- });
- });
- // Listen for connections on the specified port
- server.listen(PORT, () => {
- console.log(`Server: Listening on port ${PORT}`);
- console.log(`To connect, use: nc 127.0.0.1 ${PORT}`);
- });
- // Handle server errors (e.g., port already in use)
- server.on('error', (err) => {
- if (err.code === 'EADDRINUSE') {
- console.error(`Error: Port ${PORT} is already in use. Please choose another port or close the application using it.`);
- } else {
- console.error(`Server error: ${err.message}`);
- }
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement