This documentation is archived and is not being maintained.

TcpClient.Connect Method (IPAddress[], Int32)

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

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

public void Connect(
	IPAddress[] ipAddresses,
	int port


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.


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 method is typically used immediately after a call to the BeginGetHostAddresses method, which can return multiple IP addresses for a single host. Call the Connect method to establish a synchronous remote host connection to the host specified by the array of IPAddress elements and the port number. The Connect method will block until it either connects or fails. 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.

The following code example uses an IP Address and port number to connect with a remote host.

static void DoConnect(string host, int port)
    // Connect to the specified host.
    TcpClient t = new TcpClient(AddressFamily.InterNetwork);

    IPAddress[] IPAddresses = Dns.GetHostAddresses(host);

    Console.WriteLine("Establishing connection to {0}", host);
    t.Connect(IPAddresses, port);

    Console.WriteLine("Connection established");
static void DoConnect(String *host, int port)
    // Connect to the specified host.
    TcpClient *t = new TcpClient(AddressFamily::InterNetwork);

    IPAddress *IPAddresses[] = Dns::ResolveToAddresses(host);

    Console::WriteLine(S"Establishing Connection to {0}", 
    t->Connect(IPAddresses, port);

    Console::WriteLine(S"Connection established");

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0