TcpListener::AcceptTcpClientAsync Method ()

.NET Framework (current version)

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

Accepts a pending connection request as an asynchronous operation.

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

[HostProtectionAttribute(SecurityAction::LinkDemand, ExternalThreading = true)]
Task<TcpClient^>^ AcceptTcpClientAsync()

Return Value

Type: System.Threading.Tasks::Task<TcpClient^>^

Returns Task<TResult>

The task object representing the asynchronous operation. The Result property on the task object returns a TcpClient used to send and receive data.

Exception Condition

The listener has not been started with a call to Start.


Use the SocketException::ErrorCode property to obtain the specific error code. When 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 operation will not block. The returned Task<TResult> object will complete after the TCP connection has been accepted.

Use the TcpClient::GetStream method to obtain the underlying NetworkStream of the returned TcpClient in the Task<TResult>. The NetworkStream will provide you with methods for sending and receiving with the remote host. When you are through with the TcpClient, be sure to call its Close method. If you want greater flexibility than a TcpClient offers, consider using AcceptSocket or AcceptSocketAsync.


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