The advantages of Primus over a plain Engine.IO server:
- Stream compatible interface for the client and the server
- You can pipe data from the server the client
- It uses the same data events you're used to with streams
- Build in reconnect, this one just works. Uses exponential backoff (randomized) to reduce server stress.
- Automatically runs your messages through the specified parser
- JSON by default, but extendable by developers
- Comes with a plugin system as Primus was designed to say out of your way and developers all the freedom they need.
- There are already community added plugins for EventEmitters, Rooms and Namespaces.
- It fixes various of real-time bugs that I commonly talk about during presentations (crashing websockets etc)
- You can effortless switch between Engine.IO, SockJS, Socket.IO, BrowserChannel and WebSocket with one line of code
- Normalizes IP addresses, even when you're behind a reverse proxy.
- It's built with love <3