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