Поделиться через


TcpClient.Connect Метод

Определение

Подключает клиента к удаленному TCP-узлу, используя заданное имя узла и номер порта.

Перегрузки

Connect(IPEndPoint)

Подключает клиента к удаленному TCP-узлу, используя указанную удаленную сетевую конечную точку.

Connect(IPAddress, Int32)

Подключает клиента к удаленному TCP-узлу, используя указанный IP-адрес и номер порта.

Connect(IPAddress[], Int32)

Подключает клиента к удаленному TCP-узлу, используя указанный IP-адрес и номер порта.

Connect(String, Int32)

Подключает клиента к указанному порту заданного узла.

Connect(IPEndPoint)

Исходный код:
TCPClient.cs
Исходный код:
TCPClient.cs
Исходный код:
TCPClient.cs

Подключает клиента к удаленному TCP-узлу, используя указанную удаленную сетевую конечную точку.

public:
 void Connect(System::Net::IPEndPoint ^ remoteEP);
public void Connect (System.Net.IPEndPoint remoteEP);
member this.Connect : System.Net.IPEndPoint -> unit
Public Sub Connect (remoteEP As IPEndPoint)

Параметры

remoteEP
IPEndPoint

Объект IPEndPoint, к которому выполняется подключение.

Исключения

Параметр remoteEp имеет значение null.

Произошла ошибка при обращении к сокету.

Объект TcpClient закрыт.

Примеры

В следующем примере кода используется IPEndPoint для подключения к удаленному узлу.

//Uses a remote end point to establish a socket connection.
TcpClient^ tcpClient = gcnew TcpClient;
IPAddress^ ipAddress = Dns::Resolve( "www.contoso.com" )->AddressList[ 0 ];
IPEndPoint^ ipEndPoint = gcnew IPEndPoint( ipAddress,11004 );
tcpClient->Connect( ipEndPoint );
//Uses a remote endpoint to establish a socket connection.
TcpClient tcpClient = new TcpClient ();
IPAddress ipAddress = Dns.GetHostEntry ("www.contoso.com").AddressList[0];
IPEndPoint ipEndPoint = new IPEndPoint (ipAddress, 11004);

tcpClient.Connect (ipEndPoint);
'Uses a remote endpoint to establish a socket connection.
Dim tcpClient As New TcpClient
Dim ipAddress As IPAddress = Dns.GetHostEntry("www.contoso.com").AddressList(0)
Dim ipEndPoint As New IPEndPoint(ipAddress, 11004)

tcpClient.Connect(ipEndPoint)

Комментарии

Вызовите этот метод, чтобы установить синхронное удаленное подключение узла к указанному IPEndPointобъекту . Перед вызовом Connectнеобходимо создать экземпляр IPEndPoint класса , используя IP-адрес и номер порта. Используйте этот IPEndPoint параметр в remoteEP качестве параметра . Метод Connect будет блокироваться до тех пор, пока он не подключится или не завершится сбоем. После подключения к удаленному узлу используйте GetStream метод , чтобы получить базовый NetworkStreamобъект . Используйте его NetworkStream для отправки и получения данных.

Примечание

Если вы получаете SocketException, используйте SocketException.ErrorCode для получения определенного кода ошибки. Получив этот код, вы можете ознакомиться с документацией по коду ошибок API сокетов Windows версии 2 , чтобы получить подробное описание ошибки.

Примечание

Данный член генерирует сведения трассировки, если в приложении включена трассировка сети. Дополнительные сведения см. в разделе Трассировка сети в платформа .NET Framework.

Примечание

Если при использовании IPv6-адреса вы получаете исключение NotSupportedException с сообщением This protocol version is not supported , убедитесь, что вы включили IPv6 в конструкторе, передав .InterNetworkV6

См. также раздел

Применяется к

Connect(IPAddress, Int32)

Исходный код:
TCPClient.cs
Исходный код:
TCPClient.cs
Исходный код:
TCPClient.cs

Подключает клиента к удаленному TCP-узлу, используя указанный IP-адрес и номер порта.

public:
 void Connect(System::Net::IPAddress ^ address, int port);
public void Connect (System.Net.IPAddress address, int port);
member this.Connect : System.Net.IPAddress * int -> unit
Public Sub Connect (address As IPAddress, port As Integer)

Параметры

address
IPAddress

Объект IPAddress узла, к которому выполняется подключение.

port
Int32

Номер порта, к которому выполняется подключение.

Исключения

Параметр address имеет значение null.

Параметр port имеет значение, не лежащее в диапазоне между MinPort и MaxPort.

Произошла ошибка при обращении к сокету.

Примеры

В следующем примере кода для подключения к удаленному узлу используются IP-адрес и номер порта.

//Uses the IP address and port number to establish a socket connection.
TcpClient^ tcpClient = gcnew TcpClient;
IPAddress^ ipAddress = Dns::Resolve( "www.contoso.com" )->AddressList[ 0 ];
tcpClient->Connect( ipAddress, 11003 );
//Uses the IP address and port number to establish a socket connection.
TcpClient tcpClient = new TcpClient ();
IPAddress ipAddress = Dns.GetHostEntry ("www.contoso.com").AddressList[0];

tcpClient.Connect (ipAddress, 11003);
'Uses the IP address and port number to establish a socket connection.
Dim tcpClient As New TcpClient
Dim ipAddress As IPAddress = Dns.GetHostEntry("www.contoso.com").AddressList(0)
tcpClient.Connect(ipAddress, 11003)

Комментарии

Вызовите этот метод, чтобы установить синхронное удаленное подключение к указанному IPAddress узлу и номеру порта. Метод Connect будет блокироваться до тех пор, пока он не подключится или не завершится сбоем. После подключения к удаленному узлу используйте GetStream метод , чтобы получить базовый NetworkStreamобъект . Используйте его NetworkStream для отправки и получения данных.

Примечание

Если вы получаете SocketException, используйте SocketException.ErrorCode для получения определенного кода ошибки. Получив этот код, вы можете ознакомиться с документацией по коду ошибок API сокетов Windows версии 2 , чтобы получить подробное описание ошибки.

Примечание

Данный член генерирует сведения трассировки, если в приложении включена трассировка сети. Дополнительные сведения см. в разделе Трассировка сети в платформа .NET Framework.

Примечание

Если при использовании IPv6-адреса вы получаете исключение NotSupportedException с сообщением This protocol version is not supported , убедитесь, что вы включили IPv6 в конструкторе, передав .InterNetworkV6

См. также раздел

Применяется к

Connect(IPAddress[], Int32)

Исходный код:
TCPClient.cs
Исходный код:
TCPClient.cs
Исходный код:
TCPClient.cs

Подключает клиента к удаленному TCP-узлу, используя указанный IP-адрес и номер порта.

public:
 void Connect(cli::array <System::Net::IPAddress ^> ^ ipAddresses, int port);
public void Connect (System.Net.IPAddress[] ipAddresses, int port);
member this.Connect : System.Net.IPAddress[] * int -> unit
Public Sub Connect (ipAddresses As IPAddress(), port As Integer)

Параметры

ipAddresses
IPAddress[]

Массив IPAddress узла, к которому выполняется подключение.

port
Int32

Номер порта, к которому выполняется подключение.

Исключения

Параметр ipAddresses имеет значение null.

Недействительный номер порта.

Произошла ошибка при попытке доступа к сокету.

Socket был закрыт.

Вызывающий объект, находящийся выше в стеке вызовов, не имеет разрешения на запрошенную операцию.

Этот метод может быть применен только для сокетов, которые используют флаг InterNetwork или InterNetworkV6.

Примеры

В следующем примере кода для подключения к удаленному узлу используются IP-адрес и номер порта.

static void DoConnect( String^ host, int port )
{
   // Connect to the specified host.
   TcpClient^ t = gcnew TcpClient( AddressFamily::InterNetwork );
   array<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.GetHostAddresses(host);

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

    Console.WriteLine("Connection established");
}

Комментарии

Этот метод обычно используется сразу после вызова метода , который может возвращать BeginGetHostAddresses несколько IP-адресов для одного узла. Вызовите метод , Connect чтобы установить синхронное удаленное подключение узла к узлу, указанному массивом IPAddress элементов и номером порта. Метод Connect будет блокироваться до тех пор, пока он не подключится или не завершится сбоем. После подключения к удаленному узлу используйте GetStream метод , чтобы получить базовый NetworkStreamобъект . Используйте его NetworkStream для отправки и получения данных.

Примечание

Если вы получаете SocketException, используйте SocketException.ErrorCode для получения определенного кода ошибки. Получив этот код, вы можете ознакомиться с документацией по коду ошибок API сокетов Windows версии 2 , чтобы получить подробное описание ошибки.

Примечание

Данный член генерирует сведения трассировки, если в приложении включена трассировка сети. Дополнительные сведения см. в разделе Трассировка сети в платформа .NET Framework.

Примечание

Если при использовании IPv6-адреса вы получаете исключение NotSupportedException с сообщением This protocol version is not supported , убедитесь, что вы включили IPv6 в конструкторе, передав .InterNetworkV6

См. также раздел

Применяется к

Connect(String, Int32)

Исходный код:
TCPClient.cs
Исходный код:
TCPClient.cs
Исходный код:
TCPClient.cs

Подключает клиента к указанному порту заданного узла.

public:
 void Connect(System::String ^ hostname, int port);
public void Connect (string hostname, int port);
member this.Connect : string * int -> unit
Public Sub Connect (hostname As String, port As Integer)

Параметры

hostname
String

DNS-имя удаленного узла, к которому планируется подключение.

port
Int32

Имя порта удаленного узла, к которому планируется подключение.

Исключения

Параметр hostname имеет значение null.

Параметр port не находится между MinPort и MaxPort.

Произошла ошибка при обращении к сокету.

Примеры

В следующем примере кода для подключения к удаленному узлу используются имя узла и номер порта.

//Uses a host name and port number to establish a socket connection.
TcpClient^ tcpClient = gcnew TcpClient;
tcpClient->Connect( "www.contoso.com", 11002 );
//Uses a host name and port number to establish a socket connection.
TcpClient tcpClient = new TcpClient ();
tcpClient.Connect ("www.contoso.com", 11002);
'Uses a host name and port number to establish a socket connection.
Dim tcpClient As New TcpClient()

   tcpClient.Connect("www.contoso.com", 11002)

Комментарии

Вызовите этот метод, чтобы установить синхронное подключение к удаленному узлу с указанным именем узла и номером порта. Метод Connect будет блокироваться до тех пор, пока он не подключится или не завершится сбоем. После подключения к удаленному узлу используйте GetStream метод , чтобы получить базовый NetworkStreamобъект . Используйте его NetworkStream для отправки и получения данных.

Если включен протокол IPv6 и Connect(String, Int32) вызывается метод для подключения к узлу, который разрешается в адреса IPv6 и IPv4, сначала будет предпринята попытка подключения к IPv6-адресу до IPv4-адреса. Это может привести к задержке времени установки подключения, если узел не прослушивает IPv6-адрес.

Примечание

Если вы получаете SocketException, используйте SocketException.ErrorCode для получения определенного кода ошибки. Получив этот код, вы можете ознакомиться с документацией по коду ошибок API сокетов Windows версии 2 , чтобы получить подробное описание ошибки.

Примечание

Данный член генерирует сведения трассировки, если в приложении включена трассировка сети. Дополнительные сведения см. в разделе Трассировка сети в платформа .NET Framework.

См. также раздел

Применяется к