Just remember , if YOU have to forward your ports on the router, then your end-users will also have to do that , so most users will NOT be able to play your game.
How many "messages" do you need to sent/receive each second to make your game work ?
I ask because if you do not need to many messages per second you could setup this in a php script and use normal http request to sent and receive the messages. web servers have Keep alive so you will not have problems with reconnect times, it would be a peek type setup, so no problems with disconnections ( you sent a message and get information back in the same request ). And mainly: All users are able to use port 80 http request without any changes.
I have done some test using a system like this. it do require that you setup the webserver in a special way to enable many players at the same time. I compiled apache using a MPM worker ( 64 connections in each apache thread ) , normally the web server loads php etc.. each time you make a request to a server, in a worker mpm 64 connections/users share the same memory. so it do not use to mush memory this way. And sure you can have many apache clients at the same time , so if you setup 20 apache clients with 64 threads each 1280 users will be able to use it at the same time. Also you need to install memcahce , so your PHP scrips is able to use a shared memory block to store your game messages , so ALL php connections share the same memory , no sql or disk activity needed to share data.
best regards Preben Eriksen,