public static SocketError Connect(SafeCloseSocket handle, byte[] socketAddress, int socketAddressLen)
{
if (!handle.IsNonBlocking)
{
return handle.AsyncContext.Connect(socketAddress, socketAddressLen, -1);
}
handle.AsyncContext.CheckForPriorConnectFailure();
SocketError errorCode;
bool completed = TryStartConnect(handle, socketAddress, socketAddressLen, out errorCode);
if (completed)
{
handle.AsyncContext.RegisterConnectResult(errorCode);
return errorCode;
}
else
{
return SocketError.WouldBlock;
}
}