WebSocket provides a bidirectional, single-socket, full-duplex connection between the server and the client, making real-time communication much more efficient than other ways such as long polling and server-sent events.
With WebSocket, the client and the server can talk independently, each able to send and receive information at the same time after the initial handshake, reusing the same connection from the client to the server and the server to the client, which eventually reduces the delay and server load greatly, allowing web applications to perform modern tasks in the most effective way. The WebSocket protocol is supported by most major browsers, including Google Chrome, Microsoft Edge, Internet Explorer, Firefox, Safari, and Opera. So there are no compatibility issues.
In this chapter, we will learn how to create a WebSocket server and client, writing unit tests...