I've been using Socket.IO on Android for 6+ months now to do real-time communication with our backend, and it works well for our needs. I was happy to see a well-written Android client come along with Socket.IO v1.0. The namespacing functionality makes it super easy to send different messages to different groups of clients.
On a similar note, anyone know of equivalent options for iOS? I see a few open source implementations, but none that are actively developed. There's SocketRocket, but that's just vanilla WebSockets.
On top of its transport layer abstraction, socket.io adds various useful features including events, rooms, namespacing, efficient/convenient (de)serialization and network callbacks. I've been using it in websockets-only mode for various projects, because I don't care for slower / less reliable transports but still want the extra features.
While Websocket has good supports by browsers, it doesn't always handle switching between networks correctly, also, some networks disallow Websockets altogether, or drop websocket connections over HTTP, but not over HTTPS.
Socket.io (especially > 1.0) solves these issues with a layer by having smart reconnection mechanisms and starts by connecting over plain old HTTP longpolling, and upgrades the connection to use websockets if they're available and work.
I don't believe so. I believe SignalR is more synonymous with node's implementation of socket.io. This would be like someone getting SignalR to work natively with an Android client.
[+] [-] priz3|11 years ago|reply
[+] [-] dkharrat|11 years ago|reply
On a similar note, anyone know of equivalent options for iOS? I see a few open source implementations, but none that are actively developed. There's SocketRocket, but that's just vanilla WebSockets.
[+] [-] priz3|11 years ago|reply
http://socket.io/docs/faq/
[+] [-] SchizoDuckie|11 years ago|reply
I've just had a heated debate about this at work. I think it's pretty cool, my colleague thinks it's the worst idea ever.
Does this actually work in the real world? What if i'm moving?
[+] [-] EC1|11 years ago|reply
[+] [-] Thaxll|11 years ago|reply
[+] [-] elisee|11 years ago|reply
[+] [-] jeffasinger|11 years ago|reply
Socket.io (especially > 1.0) solves these issues with a layer by having smart reconnection mechanisms and starts by connecting over plain old HTTP longpolling, and upgrades the connection to use websockets if they're available and work.
[+] [-] dj2stein9|11 years ago|reply
https://www.npmjs.com/package/websocket.io
You can use that, and the built-in WebSocket object in modern browsers.
[+] [-] Lord_Zero|11 years ago|reply
[+] [-] wuliwong|11 years ago|reply
[+] [-] solids|11 years ago|reply