TcpClient.Connect 方法

定义

使用指定的主机名和端口号将客户端连接到 TCP 主机。

重载

Connect(IPEndPoint)

使用指定的远程网络终结点将客户端连接到远程 TCP 主机。

Connect(IPAddress, Int32)

使用指定的 IP 地址和端口号将客户端连接到 TCP 主机。

Connect(IPAddress[], Int32)

使用指定的 IP 地址和端口号将客户端连接到远程 TCP 主机。

Connect(String, Int32)

将客户端连接到指定主机上的指定端口。

Connect(IPEndPoint)

Source:
TCPClient.cs
Source:
TCPClient.cs
Source:
TCPClient.cs

使用指定的远程网络终结点将客户端连接到远程 TCP 主机。

public void Connect (System.Net.IPEndPoint remoteEP);

参数

remoteEP
IPEndPoint

您打算连接到的 IPEndPoint

例外

remoteEp 参数为 null

访问套接字时出错。

示例

下面的代码示例使用 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);

注解

调用此方法以建立与指定 IPEndPoint的同步远程主机连接。 在调用 Connect之前,必须使用 IP 地址和端口号创建 类的实例 IPEndPoint 。 使用此参数 IPEndPoint 作为 remoteEP 参数。 方法 Connect 将阻止,直到它连接或失败。 与远程主机连接后,使用 GetStream 方法获取基础 NetworkStream。 使用此 NetworkStream 来发送和接收数据。

备注

如果收到 , SocketException请使用 SocketException.ErrorCode 获取特定错误代码。 获取此代码后,可以参阅 Windows 套接字版本 2 API 错误代码 文档,了解错误的详细说明。

备注

当你在应用程序中启用网络跟踪后,此成员将输出跟踪信息。 有关详细信息,请参阅.NET Framework中的网络跟踪

备注

如果在使用 IPv6 地址时收到带有消息 This protocol version is not supported 的 NotSupportedException,请确保通过传递 InterNetworkV6在构造函数中启用了 IPv6。

另请参阅

适用于

.NET 9 和其他版本
产品 版本
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Connect(IPAddress, Int32)

Source:
TCPClient.cs
Source:
TCPClient.cs
Source:
TCPClient.cs

使用指定的 IP 地址和端口号将客户端连接到 TCP 主机。

public void Connect (System.Net.IPAddress address, int port);

参数

address
IPAddress

你打算连接到的主机的 IPAddress

port
Int32

要连接到的端口号。

例外

address 参数为 null

port 不在 MinPortMaxPort 之间。

访问套接字时出错。

示例

下面的代码示例使用 IP 地址和端口号与远程主机连接。

//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);

注解

调用此方法以建立与指定 IPAddress 和端口号的同步远程主机连接。 方法 Connect 将阻止,直到它连接或失败。 与远程主机连接后,使用 GetStream 方法获取基础 NetworkStream。 使用此 NetworkStream 来发送和接收数据。

备注

如果收到 , SocketException请使用 SocketException.ErrorCode 获取特定错误代码。 获取此代码后,可以参阅 Windows 套接字版本 2 API 错误代码 文档,了解错误的详细说明。

备注

当你在应用程序中启用网络跟踪后,此成员将输出跟踪信息。 有关详细信息,请参阅.NET Framework中的网络跟踪

备注

如果在使用 IPv6 地址时收到带有消息 This protocol version is not supported 的 NotSupportedException,请确保通过传递 InterNetworkV6在构造函数中启用了 IPv6。

另请参阅

适用于

.NET 9 和其他版本
产品 版本
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Connect(IPAddress[], Int32)

Source:
TCPClient.cs
Source:
TCPClient.cs
Source:
TCPClient.cs

使用指定的 IP 地址和端口号将客户端连接到远程 TCP 主机。

public void Connect (System.Net.IPAddress[] ipAddresses, int port);

参数

ipAddresses
IPAddress[]

要连接到的主机的 IPAddress 数组。

port
Int32

要连接到的端口号。

例外

ipAddresses 参数为 null

端口号无效。

尝试访问套接字时出错。

调用堆栈中的较高调用方无权执行所请求的操作。

此方法对于使用 InterNetwork 标志或 InterNetworkV6 标志的套接字有效。

示例

下面的代码示例使用 IP 地址和端口号与远程主机连接。

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 获取特定错误代码。 获取此代码后,可以参阅 Windows 套接字版本 2 API 错误代码 文档,了解错误的详细说明。

备注

当你在应用程序中启用网络跟踪后,此成员将输出跟踪信息。 有关详细信息,请参阅.NET Framework中的网络跟踪

备注

如果在使用 IPv6 地址时收到带有消息 This protocol version is not supported 的 NotSupportedException,请确保通过传递 InterNetworkV6在构造函数中启用了 IPv6。

另请参阅

适用于

.NET 9 和其他版本
产品 版本
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Connect(String, Int32)

Source:
TCPClient.cs
Source:
TCPClient.cs
Source:
TCPClient.cs

将客户端连接到指定主机上的指定端口。

public void Connect (string hostname, int port);

参数

hostname
String

要连接到的远程主机的 DNS 名。

port
Int32

要连接到的远程主机的端口号。

例外

hostname 参数为 null

port 参数不介于 MinPortMaxPort 之间。

访问套接字时出错。

示例

下面的代码示例使用主机名和端口号与远程主机连接。

//Uses a host name and port number to establish a socket connection.
TcpClient tcpClient = new TcpClient ();
tcpClient.Connect ("www.contoso.com", 11002);

注解

调用此方法可建立与指定主机名和端口号的同步远程主机连接。 方法 Connect 将阻止,直到它连接或失败。 与远程主机连接后,使用 GetStream 方法获取基础 NetworkStream。 使用此 NetworkStream 来发送和接收数据。

如果启用了 IPv6 并 Connect(String, Int32) 调用 方法以连接到解析为 IPv6 和 IPv4 地址的主机,则会在 IPv4 地址之前先尝试与 IPv6 地址的连接。 如果主机未侦听 IPv6 地址,这可能会延迟建立连接的时间。

备注

如果收到 , SocketException请使用 SocketException.ErrorCode 获取特定错误代码。 获取此代码后,可以参阅 Windows 套接字版本 2 API 错误代码 文档,了解错误的详细说明。

备注

当你在应用程序中启用网络跟踪后,此成员将输出跟踪信息。 有关详细信息,请参阅.NET Framework中的网络跟踪

另请参阅

适用于

.NET 9 和其他版本
产品 版本
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1