Flash multiplayer game Client\Server question

Hi everyone,

I would like to know what kind a communication/technology should be used for a multiplayer game or even for a simple chat.

I’ve got so confused and I really have no idea what to do.
(Please note that I’m a total newbie regarding flash and flash communications, so go easy on me please :slight_smile: ).

So far I’ve learned how to use Java as my server and how to use sockets for a persistent connection.
However I was told that it is a really bad idea because this method requires each client to disable his firewall/open ports (in case of a client behind a router).
I was also told I should use red5 as my server but I got lost with it as it seems like there is no proper tutorial/guide on how to use it.

I’d like to know what is the most common way that is used today (sockets/red5/other stuff I probably don’t know about…)
What does facebook multiplayer games use? (e.g. Zynga Texas Hold’em etc.)

Please help me as I’ve got really really really desperate now :frowning:

Thanks for your help!