I haven’t done that much with web sockets. Socket.io has been around for years (the first release I can see on NPM is over 5 years old), and is fairly robust. I used it before, it does what it says it does :)
Ive never heard of deepstream, but looking at its dependencies, it uses Socket.io’s engine under the hood, so I assume it’s just a framework built on top of that engine.
So while someone more knowledgeable would be better at advising you, I’d just start with Socket.io since it is the baseline/gold standard, and once you’re more familiar, start exploring alternatives if need be.
It’s also obviously going to depend on what you want to do for backend. Back when Socket.io was new, there were very few server side web socket implementations, pushing people to go that route. Today, you have alternatives.
I know many of my friends rave about Elixir’s Phoenix framework, for example, which uses web sockets for channels.