In the case of a connection failure when a DnsEndPoint was specified for the RemoteEndPoint property, the ConnectByNameError property will contain the exception that indicates the detailed cause of the socket error.
When an IPEndPoint was specified for the RemoteEndPoint property and a connection failure occurs, the ConnectByNameError property will be a null reference.
The SocketError property is always set in the case of a connection failure. The ConnectByNameError property contains more information about the failure if it was a failure connecting to a DnsEndPoint. If an application is only interested in whether the connect operation succeeded or failed, then the application only needs to check the SocketError property.
Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)