Engine.IO
Transport-based cross-browser bi-directional communication layer
...And if the connection is lost, the client will automatically try to reconnect. Scale to multiple servers and send events to all connected clients with ease. Socket.IO is a library that enables real-time, bidirectional and event-based communication between the browser and the server. There are also several client implementation in other languages, which are maintained by the community. The client will try to establish a WebSocket connection if possible, and will fall back on HTTP long polling if not. WebSocket is a communication protocol which provides a full-duplex and low-latency channel between the server and the browser.