Hello to all,
Thanks for your post, Samuel. Honestly I am not an expert in the server side, however, I think Samuel is correct, that is, probably we are talking about the server's hardware capabilities at the end. Of course, other things must be taken in consideration.
For example, from your three options, I will choose the first one, if possible, discarding the second one, if there is another way. One of the apps that I am developing (also using AB for the client side) uses a websocket with very, very good results.
The app that I am talking about are daily used by more or less 500 people (workers of a company) and the websocket provide to the app basically a chat feature: a very powerfull chat, so we know when someone is online, is typing, etc.
We use the websocket's server also in combination with push notifications, so, if an user is not online (is not in the app), we send to it a push notification, who open the app, who recognize the push type and shown to the user the latest chat's messages.
Once we can go working with the websocket... we love it. I think there is nothing that can be better, except maybe your third option, that is, suposing we no need a websocket, a real bidirectional communication between the server and the clients, and viceversa.
The main problem for the websocket I think it's the required of an own server, that is, probably (but we can talk with our hosting provider) install a websocket server into a shared hosting, for example, like the hosting who serve this webpage.
We need to install a websocket server (we use a Java websocket, if anyone are interested, I can provide here more information), work with it (on the server side) and also in the client side, of course, with the WebSocket control of AB, for example.
Can take a while... I remember we expend several time and work to setup the websocket, etc., but finally it's one of the best feature of the app in my opinion. And that's what I can say at this time about this... not too much help (like Samuel provide), but go ahead and post here any further question or comment.