Created in 2010 by the JavaScript developer Guillermo Rauch, Socket.io aimed at abstracting Node.js real-time application development. Since then, it has evolved dramatically and has been released in nine major versions before being broken in its latest version into two different modules: engine.io
and socket.io
.
Previous versions of Socket.io were criticized for being unstable since they first tried to establish the most advanced connection mechanisms and then fall back on more primitive protocols. This caused serious issues with using Socket.io in production environments and posed a threat to the adoption of Socket.io as a real-time library. To solve this, the Socket.io team redesigned it and wrapped the core functionality in a base module called Engine.io.
The idea behind Engine.io was to create a more stable real-time module, which first opens a long-polling XHR communication and then tries to upgrade the connection to a WebSockets
channel. The new version of Socket...