Introduction to web sockets
A web socket is a bi-directional communication channel between a client and a server. Unlike REST requests, the socket connection's channel remains open for the client and the server to push messages to and from each other whenever they need, instead of closing when a response is received. This kind of communication is commonly associated with low latency, which means it can handle high volumes of data with minimal delay.
So, how does it work? To start, the client sends an HTTP request to a server, asking it to open a connection. If the server agrees, it will send back a response with a status of 101, indicating that it will be switching protocols. At this point, the handshake is complete and a TCP/IP connection is left open, allowing messages to pass back and forth between the two devices. This connection will remain open until one of the devices disconnects or loses its connection.
One of the most popular socket implementations in the JavaScript...