I have been given a task to develop server architecture a multiplayer online game (for android and iOS). Game will involve messaging interaction between player (not too much data will be sent, but it will be frequent).
After exploring the internet, web-sockets and XMPP server seems to be the available option for me. And I am a little bended towards Web Sockets and basically I am a Ruby on Rails developer (available option for me is faye).
And after digging a little more, I am came across Socket.IO used in NodeJS. It looks good, but I am a little worried about the scalability. We are expecting a huge traffic in future, so I am not sure whether NodeJS can handle such traffic or not.
What do you guys suggest, Web Sockets (if yes, then what the best option for me) or XMPP servers ?
If you are a Rails developer and feeling comfortable using web technologies then you should definitely use WebSockets.
XMPP is great but handling XMPP with Ruby is hard and you need to learn XMPP first. Also most of the XMPP servers are written in Erlang.
For websocket on a Rails app your best choice is websocket-rails. It's built on top of Faye and Eventmachine and pretty fast. We are currently using it for a realtime chat app that has nearly 1k connections and still has a lot of room to grow.
Btw if you gonna use websocket-rails Thin web server plays really nice with it. You can create a cluster and scale linearly.