TcpClient.EndConnect Method

Asynchronously accepts an incoming connection attempt.

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

public void EndConnect (
	IAsyncResult asyncResult
public void EndConnect (
	IAsyncResult asyncResult
public function EndConnect (
	asyncResult : IAsyncResult
Not applicable.



An IAsyncResult object returned by a call to BeginConnect.

Exception typeCondition


The asyncResult parameter is a null reference (Nothing in Visual Basic).


The asyncResult parameter was not returned by a call to a BeginConnect method.


The EndConnect method was previously called for the asynchronous connection.


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


The underlying Socket has been closed.

This method blocks until the operation is complete. To perform this operation synchronously, use a Connect method.


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.

The following code example ends the asynchronous connection attempt.

public static ManualResetEvent connectDone = 
    new ManualResetEvent(false);

public static void ConnectCallback(IAsyncResult ar)
    TcpClient t = (TcpClient)ar.AsyncState;

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0