TcpListener.AcceptSocketAsync 方法

定義

多載

AcceptSocketAsync()

以非同步作業的方式接受暫止連接要求。

AcceptSocketAsync(CancellationToken)

接受擱置的連線要求作為可取消的異步操作。

AcceptSocketAsync()

來源:
TCPListener.cs
來源:
TCPListener.cs
來源:
TCPListener.cs

以非同步作業的方式接受暫止連接要求。

public:
 System::Threading::Tasks::Task<System::Net::Sockets::Socket ^> ^ AcceptSocketAsync();
public System.Threading.Tasks.Task<System.Net.Sockets.Socket> AcceptSocketAsync ();
member this.AcceptSocketAsync : unit -> System.Threading.Tasks.Task<System.Net.Sockets.Socket>
Public Function AcceptSocketAsync () As Task(Of Socket)

傳回

工作物件,表示非同步作業。 工作物件上的 Result 屬性會傳回用來傳送和接收資料的 Socket

例外狀況

尚未以呼叫 Start() 來啟動接聽項。

備註

這項作業不會封鎖。 在接受套接字連接之後,傳回 Task<TResult> 的物件將會完成。

Task<TResult>傳回的 Socket 會使用遠端主機的IP位址和埠號碼初始化。 您可以使用 類別中Socket可用的 任何 SendReceive 方法,與遠端主機通訊。 當您完成使用 Socket時,請務必呼叫其 Close 方法。 如果您的應用程式相對簡單,請考慮使用 AcceptTcpClient 方法,而不是 AcceptSocketAsync 方法。 TcpClient 提供簡單的方法,讓您以封鎖同步模式透過網路傳送和接收數據。

注意

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

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

另請參閱

適用於

AcceptSocketAsync(CancellationToken)

來源:
TCPListener.cs
來源:
TCPListener.cs
來源:
TCPListener.cs

接受擱置的連線要求作為可取消的異步操作。

public:
 System::Threading::Tasks::ValueTask<System::Net::Sockets::Socket ^> AcceptSocketAsync(System::Threading::CancellationToken cancellationToken);
public System.Threading.Tasks.ValueTask<System.Net.Sockets.Socket> AcceptSocketAsync (System.Threading.CancellationToken cancellationToken);
member this.AcceptSocketAsync : System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<System.Net.Sockets.Socket>
Public Function AcceptSocketAsync (cancellationToken As CancellationToken) As ValueTask(Of Socket)

參數

cancellationToken
CancellationToken

可用來取消異步操作的取消標記。

傳回

工作物件,表示非同步作業。 工作物件上的 Result 屬性會傳回用來傳送和接收資料的 Socket

例外狀況

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

備註

這項作業不會封鎖。 在接受套接字連接之後,傳回 Task<TResult> 的物件將會完成。

Task<TResult>傳回的 Socket 會使用遠端主機的IP位址和埠號碼初始化。 您可以使用 類別中Socket可用的 任何 SendReceive 方法,與遠端主機通訊。 當您完成使用 Socket時,請務必呼叫其 Close 方法。 如果您的應用程式相對簡單,請考慮使用 AcceptTcpClient 方法,而不是 AcceptSocketAsync 方法。 TcpClient 提供簡單的方法,讓您以封鎖同步模式透過網路傳送和接收數據。

注意

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

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

適用於