Firstly, I would need this information to make a realtime multiplayer browser game. Right now, I can pretty much code everything, with an exception - serverside events has to be pushed to clients. So I need a real solution (unlike longpolling) on this.
I've been reading all the forums, all the articles, but this is confusing me.
I would like to ask some questions, but I need an indepth reply, if possible.
HTML5 brought us the WebSockets feature. It was barely supported by browsers at first, but right now, pretty much all up-to-date browsers supports it. Is it going to be the comet solution of future? Can it kill node.js and other solutions?
There are so many options to pick from. Node.js, socket.io, APE, using API's of 3rd party websites. (like pusher.com) What would be the most benefical for me? I want to code server-side with PHP. I believe if we use node.js, I should code server-side with javascript too. Is it correct? If not, how can I use PHP with these frameworks?
I am going to code a multiplayer game, so performance/scalability is an essential. I don't think I will ever get more than 100 concurrent players at the start, but nobody knows what future brings, so I would like it to code the way it can support few thousands of concurrent players in the future. What are my options?
PHP, as much as I like the language itself, it simply lacks in this area... I don't want to code games like Travian, they're boring. I would like them to be realtime. I can learn a new language for this task if necessary. What's your opinions about this?
I'm currently using Apache as a local web server. Used IIS and Nginx in the past. Is there any PHP web servers designed for this job? As far as I know, some languages had special web servers designed for concurrency. (e.g Tornado Web)
Setting max_execution_time to 0 and flushing new data to clients in an endless loop is not an option in this case, it is not even effective at all.
Any answer is much appreciated.
Thank you.
Ps. I will use it for other things like realtime notifications too, but mostly my 2D game itself.