http://csharp.net-informations.com/communications/csharp-multi-threaded-server-socket.htm