Skip to content

Instantly share code, notes, and snippets.

@nurfarazi
Created February 7, 2020 11:28
Show Gist options
  • Save nurfarazi/6fc583808a28eff3755a1496ca9ffee2 to your computer and use it in GitHub Desktop.
Save nurfarazi/6fc583808a28eff3755a1496ca9ffee2 to your computer and use it in GitHub Desktop.
// 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 = new Net.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}`);
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment