Intro to TCP Server
TCP server
TCP server is one level below HTTP. It internally uses the net
module. Sockets are used when we want to keep the connection alive. Any http request
which happens in the connection is getting closed after the request is completed but a socket keeps it open and the streaming between the server and the client is more easy to do.
The process of setting up the TCP server is pretty straight forward using the net
module.
Eg:
var net = require('net');
var port = 1235;
net.createServer(function(socket) {
console.log('A new client connected');
socket.on('data', function(data) {
console.log('Data received from client: '+data);
});
socket.on('close', function(data) {
console.log('A client disconnected');
});
});
net.listen(port, "localhost");
console.log("Server Running on "+port+".\nLaunch http://localhost:"+port);
Note that while creating a HTTP server, in the callback function we had request
and response
objects but here we have a socket
object. The above example is a simple TCP server
that is going to take up the data and display on the console.
The way sockets are different from typical request, response approach is that the socket is the continuous stream flowing from the server to the client, they are in constant touch with each other. The sockets opens the connection, they talk to it and then they send the data. It keeps on going till it gets a close
event on the socket.