SockJS or Socket.IO? Worth to recode ajax-based page?

Patrick DaVader picture Patrick DaVader · Apr 26, 2012 · Viewed 11k times · Source

Which one's better: Socket.IO or SockJS and what are the biggest differences?

How difficult is it to rebuild a completely ajax based page into a node.JS / socket.io based page? Do I have to recode absolutely everything? Are there any good tutorials on how to do this? Is it worth to do it (in your opinion)?

Answer

Tracker1 picture Tracker1 · Aug 9, 2012

SockJS has more server-side options available. If you don't want to be tied to Node.js, then it may be an option. The scaling seems to work best, from some benchmarks using PyPy to host the server-side portion.

socket.io has more transport options, which include Flash. Even if you don't like flash, it does have the option for a real WebSocket transport, which may work better depending on your implementation desires.

The fact is, either will get the job done, it just depends on your desires. I would suggest creating a trivial application in each, and see if one's APIs feel more natural to you.

Personally, I'm more inclined to use socket.io ... I will also say that if you need to scale using clusters, you will probably also need to map out a strategy to use a pub/sub server (such as redis) as different requests may come to different processes that don't share memory state.


Also worth noting, is there is a similar framework for .Net called SignalR ...