I wrote this last night out of boredom and after reading a lot of posts about people wanting to make a basic multi-user chat room.
This is the most stripped-down code I could come up with that does things "correctly". For that reason, some of the code may seem more complex than it needs to be but I commented it pretty well.
I am going to write a tutorial to go along with it, as soon as I get free time.
One common mistake a lot of client/server programs make is they don't program according to the TCP (streaming) protocol. Sometimes "packets" get split up, truncated, sent together, etc. and this data arrival event is coded to expect that and handle it smoothly.
I set it up so you can add in your own commands easily to the Data Arrival event.
If you have any questions/comments/suggestions, post them here. I kept out most features like private messages, file transfers, web cams, etc. to keep things simple and straightforward, but if someone wants something added in here let me know.