Use the exception set in select (connect()) to early return when remote end is busy or in non existing port
For non blocking socket, it a timeout has been specified, IO::Socket internally use select(..) to
detect the result of socket connection. In situation, where remote end is busy or in non-existing port, we spend
entire timeout mentioned in select(..) call. We cannot completely differentiate if error is WSAECONNREFUSED(10061) or
WSAETIMEDOUT(10060) in this situation. If we use the exception set in select(..) call, we can do early return and also
a make a clear differentiation in error condition. This is same like what Linux handle in this situation.