TcpClient.ConnectAsync Method (IPAddress[], Int32)

.NET Framework (current version)

The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Connects the client to a remote TCP host using the specified IP addresses and port number as an asynchronous operation.

Namespace:   System.Net.Sockets
Assembly:  System (in System.dll)

[<HostProtectionAttribute(SecurityAction.LinkDemand, ExternalThreading = true)>]
member ConnectAsync : 
        addresses:IPAddress[] *
        port:int -> Task


Type: System.Net.IPAddress[]

The IPAddress array of the host to which you intend to connect.

Type: System.Int32

The port number to which you intend to connect.

Return Value

Type: System.Threading.Tasks.Task

Returns Task

The task object representing the asynchronous operation.

Exception Condition

The ipAddresses parameter is null.


The port number is not valid.


An error occurred when attempting to access the socket. See the Remarks section for more information.


The Socket has been closed.


A caller higher in the call stack does not have permission for the requested operation.


This method is valid for sockets that use the InterNetwork flag or the InterNetworkV6 flag.

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.

This method is typically used immediately after a call to the BeginGetHostAddresses method, which can return multiple IP addresses for a single host. Call this method to establish a synchronous remote host connection to the host specified by the array of IPAddress elements and the 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 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 the MSDN library at 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.

.NET Framework
Available since 4.5
Return to top