LOL! That's one word I fear the most since I work in IT and every time we need to buy "turn-key" or "enterprise" the prices are usually waaay over priced.
As for the different methods of chat server software, I have installed and tested:
1. php sockets
2. java sockets
3. Ajax, http, MySQL
4. Flash Media server
Out of all the methods the best one if Flash Media Server (or Red5) connected to a flash client. Set at "rtmpt" you'll get socket like performance on port 80 without the http over head.
PHP sockets and Java sockets suck big time. They all rely on ports other than http port 80 and are prone to bugs and configuration problems.
My second choice would be the AJAX, http, MySQL combo. It's fast and while it does put somewhat of a strain on your web server and database server, these two if configured properly can handle the load, TO A CERTAIN EXTENT :lol: . This method is NOT recommended on shared hosts as it will eat up bandwidth and CPU and will eventually get you kicked off of that server depending on the hosters policies.
Those of you with dedicated servers, if you want to see if you can host a chat room I suggest you download and install Darren’s $5 FlashChat and play with it. Load it up with users and when you've reached about 30, you'll know if your machine can handle the load. Heck, it will even teach you how to properly configure your machine for optimal performance when you see your box choking up and you figure out how to relieve the stress.
Now, most of us with higher end servers can definitely host our own chat rooms. It's unfortunate that IP doesn't have immediate plans to offer a self hosted chat solution in light of the fact that there are so many other options on the market right now. My favorite at the moment is "flashcoms". It's not free but there are no recurring fees if you have the media servers running on your box. And those of us who have sites with many users will need the performance that a true socket server option provides. The Ajax/http option will only get you to about 30 users before your box becomes unresponsive if your machine isn't capable of handling the load or is not properly configured.