public void DualModeConnectAsync_Static_DnsEndPointToHost_Helper(IPAddress listenOn, bool dualModeServer)
{
int port;
using (SocketServer server = new SocketServer(_log, listenOn, dualModeServer, out port))
{
ManualResetEvent waitHandle = new ManualResetEvent(false);
SocketAsyncEventArgs args = new SocketAsyncEventArgs();
args.Completed += new EventHandler<SocketAsyncEventArgs>(AsyncCompleted);
args.RemoteEndPoint = new DnsEndPoint("localhost", port);
args.UserToken = waitHandle;
Socket.ConnectAsync(SocketType.Stream, ProtocolType.Tcp, args);
Assert.True(waitHandle.WaitOne(TestSettings.PassingTestTimeout), "Timed out while waiting for connection");
if (args.SocketError != SocketError.Success)
{
throw new SocketException((int)args.SocketError);
}
Assert.True(args.ConnectSocket.Connected);
args.ConnectSocket.Dispose();
}
}
}