- Events / actions as main abstraction.
- Support for degradation for old devices, browsers, corporate networks.
- WebSocket is not very good at multiplexing. One discrete TCP connection per socket (opposite direction of what HTTP/2 is going)
- Binary support inside JSON (`Buffer` etc)
A lot of people look at SocketIO as a client-side only library, but it's not. It has connection implementors written on the server side to support things like multiplexing over one channel.
Were you able to implement auto-reconnect with backoff? That's one of the most important features that something like Socket.io gives you.
If you can block them (ie: the user needs to login), you don't need to wrory.
It's really common for web sockets not to work through corporate content filters and old load balancers.
Not Microsoft. It's unsupported as of 2 months ago.