TcpClient.ConnectAsync 方法

定義

使用指定的主機名稱和連接埠號碼,以非同步作業方式將用戶端連接至遠端 TCP 主機。

多載

ConnectAsync(String, Int32, CancellationToken)

以非同步作業的方式將用戶端連接至指定主機上的指定 TCP 連接埠。

ConnectAsync(IPAddress[], Int32, CancellationToken)

使用指定的 IP 位址和連接埠號碼,以非同步作業方式將用戶端連接至遠端 TCP 主機。

ConnectAsync(IPAddress, Int32, CancellationToken)

使用指定的 IP 位址和連接埠號碼,以非同步作業方式將用戶端連接至遠端 TCP 主機。

ConnectAsync(String, Int32)

以非同步作業的方式將用戶端連接至指定主機上的指定 TCP 連接埠。

ConnectAsync(IPEndPoint, CancellationToken)

使用指定的端點做為非同步作業,將用戶端連線到遠端 TCP 主機。

ConnectAsync(IPAddress[], Int32)

使用指定的 IP 位址和連接埠號碼,以非同步作業方式將用戶端連接至遠端 TCP 主機。

ConnectAsync(IPAddress, Int32)

使用指定的 IP 位址和連接埠號碼,以非同步作業方式將用戶端連接至遠端 TCP 主機。

ConnectAsync(IPEndPoint)

使用指定的端點做為非同步作業,將用戶端連線到遠端 TCP 主機。

ConnectAsync(String, Int32, CancellationToken)

以非同步作業的方式將用戶端連接至指定主機上的指定 TCP 連接埠。

public:
 System::Threading::Tasks::ValueTask ConnectAsync(System::String ^ host, int port, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.ValueTask ConnectAsync (string host, int port, System.Threading.CancellationToken cancellationToken);
member this.ConnectAsync : string * int * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask
Public Function ConnectAsync (host As String, port As Integer, cancellationToken As CancellationToken) As ValueTask

參數

host
String

遠端主機的 DNS 名稱。

port
Int32

遠端主機的連接埠號碼。

cancellationToken
CancellationToken

可用來通知應該取消非同步作業的取消權杖。

傳回

表示非同步連線作業的工作。

例外狀況

host 參數為 null

port 參數不是介於 MinPortMaxPort

存取通訊端時發生錯誤。

解除標記已取消。 此例外狀況會儲存在傳回的工作中。

備註

這項作業不會封鎖。 傳回的工作會在建立 TCP 連線之後完成。 此方法不會在連線要求進行時封鎖呼叫執行緒。

呼叫這個方法,以非同步作業的方式,建立與指定主機名稱和埠號碼的同步遠端主機連線。 與遠端主機連線之後,請使用 GetStream 方法來取得基礎 NetworkStream 。 使用此方法來 NetworkStream 傳送和接收資料。

如果已啟用 IPv6 並 ConnectAsync(String, Int32) 呼叫 方法來連線到解析為 IPv6 和 IPv4 位址的主機,則會先嘗試連線到 IPv6 位址,再嘗試 IPv4 位址。 如果主機未接聽 IPv6 位址,這可能會延遲建立連線的時間。

注意

如果您收到 SocketException ,請使用 SocketException.ErrorCode 來取得特定的錯誤碼。 取得此程式碼之後,您可以參閱 Windows Sockets 第 2 版 API 錯誤碼 檔,以取得錯誤的詳細描述。

注意

在應用程式中啟用網路追蹤時,這個成員會輸出追蹤資訊。 如需詳細資訊,請參閱.NET Framework中的網路追蹤

這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用例外狀況,例如 ArgumentException 仍會同步擲回。 如需預存例外狀況,請參閱 擲回的 Connect(String, Int32) 例外狀況。

另請參閱

適用於

ConnectAsync(IPAddress[], Int32, CancellationToken)

使用指定的 IP 位址和連接埠號碼,以非同步作業方式將用戶端連接至遠端 TCP 主機。

public:
 System::Threading::Tasks::ValueTask ConnectAsync(cli::array <System::Net::IPAddress ^> ^ addresses, int port, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.ValueTask ConnectAsync (System.Net.IPAddress[] addresses, int port, System.Threading.CancellationToken cancellationToken);
member this.ConnectAsync : System.Net.IPAddress[] * int * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask
Public Function ConnectAsync (addresses As IPAddress(), port As Integer, cancellationToken As CancellationToken) As ValueTask

參數

addresses
IPAddress[]

遠端主機的 IP 位址陣列。

port
Int32

遠端主機的連接埠號碼。

cancellationToken
CancellationToken

可用來通知應該取消非同步作業的取消權杖。

傳回

表示非同步連線作業的工作。

例外狀況

ipAddresses 參數為 null

連接埠號碼無效。

嘗試存取通訊端時發生錯誤。

在呼叫堆疊中位置較高的呼叫端對於要求的作業沒有權限。

這個方法對使用 InterNetwork 旗標或 InterNetworkV6 旗標的通訊端有效。

解除標記已取消。 此例外狀況會儲存在傳回的工作中。

備註

這項作業不會封鎖。 傳回的工作會在建立 TCP 連線之後完成。 此方法不會在連線要求進行時封鎖呼叫執行緒。

此方法通常會在呼叫 BeginGetHostAddresses 方法之後立即使用,這可以傳回單一主機的多個 IP 位址。 呼叫這個方法,以非同步作業方式建立與 IP 位址陣列所指定主機的同步遠端主機連線,以及埠號碼。 與遠端主機連線之後,請使用 GetStream 方法來取得基礎 NetworkStream 。 使用此方法來 NetworkStream 傳送和接收資料。

注意

如果您收到 SocketException ,請使用 SocketException.ErrorCode 來取得特定的錯誤碼。 取得此程式碼之後,您可以參閱 Windows Sockets 第 2 版 API 錯誤碼 檔,以取得錯誤的詳細描述。

注意

在應用程式中啟用網路追蹤時,這個成員會輸出追蹤資訊。 如需詳細資訊,請參閱.NET Framework中的網路追蹤

注意

如果您在使用 IPv6 位址時收到具有訊息 This protocol version is not supported 的 NotSupportedException,則請傳遞 InterNetworkV6 ,確定您已在建構函式中啟用 IPv6。

這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用例外狀況,例如 ArgumentException 仍會同步擲回。 如需預存例外狀況,請參閱 擲回的 Connect(IPAddress[], Int32) 例外狀況。

另請參閱

適用於

ConnectAsync(IPAddress, Int32, CancellationToken)

使用指定的 IP 位址和連接埠號碼,以非同步作業方式將用戶端連接至遠端 TCP 主機。

public:
 System::Threading::Tasks::ValueTask ConnectAsync(System::Net::IPAddress ^ address, int port, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.ValueTask ConnectAsync (System.Net.IPAddress address, int port, System.Threading.CancellationToken cancellationToken);
member this.ConnectAsync : System.Net.IPAddress * int * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask
Public Function ConnectAsync (address As IPAddress, port As Integer, cancellationToken As CancellationToken) As ValueTask

參數

address
IPAddress

遠端主機的 IP 位址。

port
Int32

遠端主機的連接埠號碼。

cancellationToken
CancellationToken

可用來通知應該取消非同步作業的取消權杖。

傳回

表示非同步連線作業的工作。

例外狀況

address 參數為 null

port 不在 MinPortMaxPort 之間。

存取通訊端時發生錯誤。

解除標記已取消。 此例外狀況會儲存在傳回的工作中。

備註

這項作業不會封鎖。 傳回的工作會在建立 TCP 連線之後完成。 此方法不會在連線要求進行時封鎖呼叫執行緒。

呼叫這個方法,以非同步作業的方式,建立與指定 IP 位址和埠號碼的同步遠端主機連線。 與遠端主機連線之後,請使用 GetStream 方法來取得基礎 NetworkStream 。 使用此方法來 NetworkStream 傳送和接收資料。

注意

如果您收到 SocketException ,請使用 SocketException.ErrorCode 來取得特定的錯誤碼。 取得此程式碼之後,您可以參閱 Windows Sockets 第 2 版 API 錯誤碼 檔,以取得錯誤的詳細描述。

注意

在應用程式中啟用網路追蹤時,這個成員會輸出追蹤資訊。 如需詳細資訊,請參閱.NET Framework中的網路追蹤

注意

如果您在使用 IPv6 位址時收到具有訊息 This protocol version is not supported 的 NotSupportedException,請傳遞 ,確定您已在建構函 InterNetworkV6 式中啟用 IPv6。

這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用狀況例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用狀況例外狀況,例如 ArgumentException ,仍會同步擲回。 如需預存的例外狀況,請參閱 所 Connect(IPAddress, Int32) 擲回的例外狀況。

另請參閱

適用於

ConnectAsync(String, Int32)

以非同步作業的方式將用戶端連接至指定主機上的指定 TCP 連接埠。

public:
 System::Threading::Tasks::Task ^ ConnectAsync(System::String ^ host, int port);
public System.Threading.Tasks.Task ConnectAsync (string host, int port);
member this.ConnectAsync : string * int -> System.Threading.Tasks.Task
Public Function ConnectAsync (host As String, port As Integer) As Task

參數

host
String

您要連接之遠端主機的 DNS 名稱。

port
Int32

您要連接之遠端主機的連接埠號碼。

傳回

工作物件,表示非同步作業。

例外狀況

host 參數為 null

port 參數不是介於 MinPortMaxPort

存取通訊端時發生錯誤。

備註

這項作業不會封鎖。 傳回的 Returns Task 物件會在建立 TCP 連線之後完成。 此方法不會在連線要求正在進行時封鎖呼叫執行緒。

呼叫這個方法,以非同步作業的方式,建立與指定主機名稱和埠號碼的同步遠端主機連線。 與遠端主機連線之後,請使用 GetStream 方法來取得基礎 NetworkStreamNetworkStream使用此來傳送和接收資料。

如果已啟用 IPv6,且 ConnectAsync(String, Int32) 呼叫 方法以連線到解析為 IPv6 和 IPv4 位址的主機,則會先嘗試連線到 IPv6 位址,然後再嘗試 IPv4 位址。 如果主機未接聽 IPv6 位址,這可能會延遲建立連線的時間。

注意

如果您收到 SocketException ,請使用 SocketException.ErrorCode 來取得特定的錯誤碼。 取得此程式碼之後,您可以參閱 Windows Sockets 第 2 版 API 錯誤碼 檔,以取得錯誤的詳細描述。

注意

在應用程式中啟用網路追蹤時,這個成員會輸出追蹤資訊。 如需詳細資訊,請參閱.NET Framework中的網路追蹤

這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用狀況例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用狀況例外狀況,例如 ArgumentException ,仍會同步擲回。 如需預存的例外狀況,請參閱 所 Connect(String, Int32) 擲回的例外狀況。

另請參閱

適用於

ConnectAsync(IPEndPoint, CancellationToken)

使用指定的端點作為非同步作業,將用戶端連線到遠端 TCP 主機。

public:
 System::Threading::Tasks::ValueTask ConnectAsync(System::Net::IPEndPoint ^ remoteEP, System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.ValueTask ConnectAsync (System.Net.IPEndPoint remoteEP, System.Threading.CancellationToken cancellationToken);
member this.ConnectAsync : System.Net.IPEndPoint * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask
Public Function ConnectAsync (remoteEP As IPEndPoint, cancellationToken As CancellationToken) As ValueTask

參數

remoteEP
IPEndPoint

您想連接到的 IPEndPoint

cancellationToken
CancellationToken

這個取消語彙基元是用來傳播應該取消這項作業的通知。

傳回

表示非同步作業的工作。

例外狀況

取消權杖已取消。 此例外狀況會儲存在傳回的工作中。

備註

這項作業不會封鎖。 傳回的 Returns Task 物件會在建立 TCP 連線之後完成。 此方法不會在連線要求正在進行時封鎖呼叫執行緒。

呼叫這個方法,以建立與指定 IPEndPoint 之 的同步遠端主機連線。 呼叫 Connect 之前,您必須使用 IP 位址和埠號碼來建立 類別的 IPEndPoint 實例。 請使用這個 IPEndPoint 做為 remoteEP 參數。 方法 Connect 會封鎖,直到連接或失敗為止。 與遠端主機連線之後,請使用 GetStream 方法來取得基礎 NetworkStreamNetworkStream使用此來傳送和接收資料。

注意

如果您收到 SocketException ,請使用 SocketException.ErrorCode 來取得特定的錯誤碼。 取得此程式碼之後,您可以參閱 Windows Sockets 第 2 版 API 錯誤碼 檔,以取得錯誤的詳細描述。

注意

在應用程式中啟用網路追蹤時,這個成員會輸出追蹤資訊。 如需詳細資訊,請參閱.NET Framework中的網路追蹤

注意

如果您在使用 IPv6 位址時收到具有訊息 This protocol version is not supported 的 NotSupportedException,請傳遞 ,確定您已在建構函 InterNetworkV6 式中啟用 IPv6。

這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用狀況例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用狀況例外狀況,例如 ArgumentException ,仍會同步擲回。 如需預存的例外狀況,請參閱 所 Connect(IPEndPoint) 擲回的例外狀況。

適用於

ConnectAsync(IPAddress[], Int32)

使用指定的 IP 位址和連接埠號碼,以非同步作業方式將用戶端連接至遠端 TCP 主機。

public:
 System::Threading::Tasks::Task ^ ConnectAsync(cli::array <System::Net::IPAddress ^> ^ addresses, int port);
public System.Threading.Tasks.Task ConnectAsync (System.Net.IPAddress[] addresses, int port);
member this.ConnectAsync : System.Net.IPAddress[] * int -> System.Threading.Tasks.Task
Public Function ConnectAsync (addresses As IPAddress(), port As Integer) As Task

參數

addresses
IPAddress[]

您想連接之主機的 IPAddress 陣列。

port
Int32

您要連接的連接埠號碼。

傳回

工作物件,表示非同步作業。

例外狀況

ipAddresses 參數為 null

連接埠號碼無效。

嘗試存取通訊端時發生錯誤。

在呼叫堆疊中位置較高的呼叫端對於要求的作業沒有權限。

這個方法對使用 InterNetwork 旗標或 InterNetworkV6 旗標的通訊端有效。

備註

這項作業不會封鎖。 傳回的 Returns Task 物件會在建立 TCP 連線之後完成。 此方法不會在連線要求正在進行時封鎖呼叫執行緒。

此方法通常會在呼叫 BeginGetHostAddresses 方法之後立即使用,這可以傳回單一主機的多個 IP 位址。 呼叫這個方法,以建立與元素陣列 IPAddress 所指定主機的同步遠端主機連線,並將埠號碼建立為非同步作業。 與遠端主機連線之後,請使用 GetStream 方法來取得基礎 NetworkStreamNetworkStream使用此來傳送和接收資料。

注意

如果您收到 SocketException ,請使用 SocketException.ErrorCode 來取得特定的錯誤碼。 取得此程式碼之後,您可以參閱 Windows Sockets 第 2 版 API 錯誤碼 檔,以取得錯誤的詳細描述。

注意

在應用程式中啟用網路追蹤時,這個成員會輸出追蹤資訊。 如需詳細資訊,請參閱.NET Framework中的網路追蹤

注意

如果您在使用 IPv6 位址時收到具有訊息 This protocol version is not supported 的 NotSupportedException,請傳遞 ,確定您已在建構函 InterNetworkV6 式中啟用 IPv6。

這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用狀況例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用狀況例外狀況,例如 ArgumentException ,仍會同步擲回。 如需預存的例外狀況,請參閱 所 Connect(IPAddress[], Int32) 擲回的例外狀況。

另請參閱

適用於

ConnectAsync(IPAddress, Int32)

使用指定的 IP 位址和連接埠號碼,以非同步作業方式將用戶端連接至遠端 TCP 主機。

public:
 System::Threading::Tasks::Task ^ ConnectAsync(System::Net::IPAddress ^ address, int port);
public System.Threading.Tasks.Task ConnectAsync (System.Net.IPAddress address, int port);
member this.ConnectAsync : System.Net.IPAddress * int -> System.Threading.Tasks.Task
Public Function ConnectAsync (address As IPAddress, port As Integer) As Task

參數

address
IPAddress

您要連接到之主機的 IPAddress

port
Int32

您要連接的連接埠號碼。

傳回

工作物件,表示非同步作業。

例外狀況

address 參數為 null

port 不在 MinPortMaxPort 之間。

存取通訊端時發生錯誤。

備註

這項作業不會封鎖。 傳回的 Returns Task 物件會在建立 TCP 連線之後完成。 此方法不會在連線要求正在進行時封鎖呼叫執行緒。

呼叫這個方法,以非同步作業的方式,建立與指定 IPAddress 和埠號碼的同步遠端主機連線。 與遠端主機連線之後,請使用 GetStream 方法來取得基礎 NetworkStreamNetworkStream使用此來傳送和接收資料。

注意

如果您收到 SocketException ,請使用 SocketException.ErrorCode 來取得特定的錯誤碼。 取得此程式碼之後,您可以參閱 Windows Sockets 第 2 版 API 錯誤碼 檔,以取得錯誤的詳細描述。

注意

在應用程式中啟用網路追蹤時,這個成員會輸出追蹤資訊。 如需詳細資訊,請參閱.NET Framework中的網路追蹤

注意

如果您在使用 IPv6 位址時收到具有訊息 This protocol version is not supported 的 NotSupportedException,請傳遞 ,確定您已在建構函 InterNetworkV6 式中啟用 IPv6。

這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用狀況例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用狀況例外狀況,例如 ArgumentException ,仍會同步擲回。 如需預存的例外狀況,請參閱 所 Connect(IPAddress, Int32) 擲回的例外狀況。

另請參閱

適用於

ConnectAsync(IPEndPoint)

使用指定的端點作為非同步作業,將用戶端連線到遠端 TCP 主機。

public:
 System::Threading::Tasks::Task ^ ConnectAsync(System::Net::IPEndPoint ^ remoteEP);
public System.Threading.Tasks.Task ConnectAsync (System.Net.IPEndPoint remoteEP);
member this.ConnectAsync : System.Net.IPEndPoint -> System.Threading.Tasks.Task
Public Function ConnectAsync (remoteEP As IPEndPoint) As Task

參數

remoteEP
IPEndPoint

您想連接到的 IPEndPoint

傳回

表示非同步作業的工作。

備註

這項作業不會封鎖。 建立 TCP 連線之後,傳回 Task 的物件將會完成。 此方法不會在連線要求正在進行時封鎖呼叫執行緒。

呼叫這個方法,以建立與指定 IPEndPoint 之 的同步遠端主機連線。 呼叫 Connect 之前,您必須使用 IP 位址和埠號碼來建立 類別的 IPEndPoint 實例。 請使用這個 IPEndPoint 做為 remoteEP 參數。 方法 Connect 會封鎖,直到連接或失敗為止。 與遠端主機連線之後,請使用 GetStream 方法來取得基礎 NetworkStreamNetworkStream使用此來傳送和接收資料。

注意

如果您收到 SocketException ,請使用 SocketException.ErrorCode 來取得特定的錯誤碼。 取得此程式碼之後,您可以參閱 Windows Sockets 第 2 版 API 錯誤碼 檔,以取得錯誤的詳細描述。

注意

在應用程式中啟用網路追蹤時,這個成員會輸出追蹤資訊。 如需詳細資訊,請參閱.NET Framework中的網路追蹤

注意

如果您在使用 IPv6 位址時收到 NotSupportedException 訊息「不支援此通訊協定版本」,請傳遞 ,確定您已在建構 InterNetworkV6 函式中啟用 IPv6。

這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用狀況例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用狀況例外狀況,例如 ArgumentException ,仍會同步擲回。 如需預存的例外狀況,請參閱 所 Connect(IPEndPoint) 擲回的例外狀況。

適用於