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