TcpClient.ConnectAsync 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
使用指定的主機名稱和連接埠號碼,以非同步作業方式將用戶端連接至遠端 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)
- 來源:
- TCPClient.cs
- 來源:
- TCPClient.cs
- 來源:
- TCPClient.cs
以非同步作業的方式將用戶端連接至指定主機上的指定 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
。
存取通訊端時發生錯誤。
解除標記已取消。 此例外狀況會儲存在傳回的工作中。
備註
這項作業不會封鎖。 傳回的工作會在建立 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)
- 來源:
- TCPClient.cs
- 來源:
- TCPClient.cs
- 來源:
- TCPClient.cs
使用指定的 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)
- 來源:
- TCPClient.cs
- 來源:
- TCPClient.cs
- 來源:
- TCPClient.cs
使用指定的 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
。
存取通訊端時發生錯誤。
解除標記已取消。 此例外狀況會儲存在傳回的工作中。
備註
這項作業不會封鎖。 傳回的工作會在建立 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)
- 來源:
- TCPClient.cs
- 來源:
- TCPClient.cs
- 來源:
- TCPClient.cs
以非同步作業的方式將用戶端連接至指定主機上的指定 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
。
存取通訊端時發生錯誤。
備註
這項作業不會封鎖。 傳回的 Returns Task 物件會在建立 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(IPEndPoint, CancellationToken)
- 來源:
- TCPClient.cs
- 來源:
- TCPClient.cs
- 來源:
- TCPClient.cs
使用指定的端點作為非同步作業,將用戶端連線到遠端 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 方法來取得基礎 NetworkStream 。
NetworkStream
使用此來傳送和接收資料。
注意
如果您收到 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)
- 來源:
- TCPClient.cs
- 來源:
- TCPClient.cs
- 來源:
- TCPClient.cs
使用指定的 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
參數
- port
- Int32
您要連接的連接埠號碼。
傳回
工作物件,表示非同步作業。
例外狀況
ipAddresses
參數為 null
。
連接埠號碼無效。
嘗試存取通訊端時發生錯誤。
在呼叫堆疊中位置較高的呼叫端對於要求的作業沒有權限。
這個方法對使用 InterNetwork 旗標或 InterNetworkV6 旗標的通訊端有效。
備註
這項作業不會封鎖。 傳回的 Returns Task 物件會在建立 TCP 連線之後完成。 此方法不會在連線要求正在進行時封鎖呼叫執行緒。
此方法通常會在呼叫 BeginGetHostAddresses 方法之後立即使用,這可以傳回單一主機的多個 IP 位址。 呼叫這個方法,以建立與元素陣列 IPAddress 所指定主機的同步遠端主機連線,並將埠號碼建立為非同步作業。 與遠端主機連線之後,請使用 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)
- 來源:
- TCPClient.cs
- 來源:
- TCPClient.cs
- 來源:
- TCPClient.cs
使用指定的 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
參數
- port
- Int32
您要連接的連接埠號碼。
傳回
工作物件,表示非同步作業。
例外狀況
address
參數為 null
。
存取通訊端時發生錯誤。
備註
這項作業不會封鎖。 傳回的 Returns Task 物件會在建立 TCP 連線之後完成。 此方法不會在連線要求正在進行時封鎖呼叫執行緒。
呼叫這個方法,以非同步作業的方式,建立與指定 IPAddress 和埠號碼的同步遠端主機連線。 與遠端主機連線之後,請使用 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(IPEndPoint)
- 來源:
- TCPClient.cs
- 來源:
- TCPClient.cs
- 來源:
- TCPClient.cs
使用指定的端點作為非同步作業,將用戶端連線到遠端 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 方法來取得基礎 NetworkStream 。
NetworkStream
使用此來傳送和接收資料。
注意
如果您收到 SocketException ,請使用 SocketException.ErrorCode 來取得特定的錯誤碼。 取得此程式碼之後,您可以參閱 Windows Sockets 第 2 版 API 錯誤碼 檔,以取得錯誤的詳細描述。
注意
在應用程式中啟用網路追蹤時,這個成員會輸出追蹤資訊。 如需詳細資訊,請參閱.NET Framework中的網路追蹤。
注意
如果您在使用 IPv6 位址時收到 NotSupportedException
訊息「不支援此通訊協定版本」,請傳遞 ,確定您已在建構 InterNetworkV6 函式中啟用 IPv6。
這個方法會儲存在工作中,它會傳回方法同步對應專案可以擲回的所有非使用狀況例外狀況。 如果例外狀況儲存在傳回的工作中,則會在等候工作時擲回該例外狀況。 使用狀況例外狀況,例如 ArgumentException ,仍會同步擲回。 如需預存的例外狀況,請參閱 所 Connect(IPEndPoint) 擲回的例外狀況。