// Include Nodejs' net module.const Net =require('net');// The port on which the server is listening.const port =8080;// Use net.createServer() in your code. This is just for illustration purpose.// Create a new TCP server.const server =newNet.Server();// The server listens to a socket for a client to make a connection request.// Think of a socket as an end point.
server.listen(port,function(){
console.log(`Server listening for connection requests on socket localhost:${port}`.);});// When a client requests a connection with the server, the server creates a new// socket dedicated to that client.
server.on('connection',function(socket){
console.log('A new connection has been established.');// Now that a TCP connection has been established, the server can send data to// the client by writing to its socket.
socket.write('Hello, client.');// The server can also receive data from the client by reading from its socket.
socket.on('data',function(chunk){
console.log(`Data received from client: ${chunk.toString()`.});
});
// When the client requests to end the TCP connection with the server, the server
// ends the connection.
socket.on('end', function() {
console.log('Closing connection with the client');
});
// Don't forget to catch error, for your own sake.
socket.on('error', function(err) {
console.log(`Error: ${err}`);});});
A simple TCP client
// Include Nodejs' net module.const Net =require('net');// The port number and hostname of the server.const port =8080;const host ='localhost';// Create a new TCP client.const client =newNet.Socket();// Send a connection request to the server.
client.connect({ port: port, host: host }),function(){// If there is no error, the server has accepted the request and created a new // socket dedicated to us.
console.log('TCP connection established with the server.');// The client can now send data to the server by writing to its socket.
client.write('Hello, server.');});// The client can also receive data from the server by reading from its socket.
client.on('data',function(chunk){
console.log(`Data received from the server: ${chunk.toString()}.`);// Request an end to the connection after the data has been received.
client.end();});
client.on('end',function(){
console.log('Requested an end to the TCP connection');});