It is an event based bi-directional communication layer for real-time web applications, built atop Engine.IO. It has two parts: a client side library that runs in the browser, and a server side library for node.js. It abstracts various transports, comprising AJAX long-polling as well as WebSockets, into a single application programming interface (API).
Furthermore, it allows developers to send and receive data without worrying about cross-browser compatibility.
It simplifies the usage of WebSockets.
It provides fail-overs when WebSockets are not supported on the browser or server.
It handles the connections transparently.
It features multiple server implementations with no native dependencies.