TcpClient.ConnectAsync Method (String, Int32)
Connects the client to the specified TCP port on the specified host as an asynchronous operation.
Assembly: System (in System.dll)
[HostProtectionAttribute(SecurityAction.LinkDemand, ExternalThreading = true)] public Task ConnectAsync( string host, int port )
- Type: System.String
The DNS name of the remote host to which you intend to connect.
- Type: System.Int32
The port number of the remote host to which you intend to connect.
The hostname parameter is null.
An error occurred when accessing the socket. See the Remarks section for more information.
TcpClient is closed.
This operation will not block. The returned Returns Task object will complete after the TCP connection has been established. This method does not block the calling thread while the connection request is underway.
Call this method to establish a synchronous remote host connection to the specified host name and port number as an asynchronous operation. After connecting with the remote host, use the GetStream method to obtain the underlying NetworkStream. Use this NetworkStream to send and receive data.
If IPv6 is enabled and the AsyncConnect(String, Int32) method is called to connect to a host that resolves to both IPv6 and IPv4 addresses, the connection to the IPv6 address will be attempted first before the IPv4 address. This may have the effect of delaying the time to establish the connection if the host is not listening on the IPv6 address.
If you receive a SocketException, use SocketException.ErrorCode to obtain the specific error code. After you have obtained this code, you can refer to the Windows Sockets version 2 API error code documentation in MSDN for a detailed description of the error.
This member outputs trace information when you enable network tracing in your application. For more information, see Network Tracing in the .NET Framework.
The HostProtectionAttribute attribute applied to this type or member has the following Resources property value: ExternalThreading. The HostProtectionAttribute does not affect desktop applications (which are typically started by double-clicking an icon, typing a command, or entering a URL in a browser). For more information, see the HostProtectionAttribute class or SQL Server Programming and Host Protection Attributes.