public static TestConnection CreateConnection()
{
var listener = new TcpListener(IPAddress.Loopback, 0);
listener.Start();
var ar = listener.BeginAcceptSocket(null, null);
var s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
s.Connect(IPAddress.Loopback, ((IPEndPoint) listener.LocalEndpoint).Port);
var server = listener.EndAcceptSocket(ar);
return new TestConnection {Client = s, Server = server};
}