Socket.BeginDisconnect(Boolean, AsyncCallback, Object) 方法

定義

開始非同步要求,以中斷遠端端點的連接。

public:
 IAsyncResult ^ BeginDisconnect(bool reuseSocket, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginDisconnect (bool reuseSocket, AsyncCallback? callback, object? state);
public IAsyncResult BeginDisconnect (bool reuseSocket, AsyncCallback callback, object state);
member this.BeginDisconnect : bool * AsyncCallback * obj -> IAsyncResult
Public Function BeginDisconnect (reuseSocket As Boolean, callback As AsyncCallback, state As Object) As IAsyncResult

參數

reuseSocket
Boolean

如果這個通訊端可以在關閉連接後重複使用,則為 true,否則為 false

callback
AsyncCallback

AsyncCallback 委派。

state
Object

物件,包含這個要求的狀態資訊。

傳回

IAsyncResult 物件,參考非同步作業。

例外狀況

Socket物件已關閉。

僅限 .NET Framework 和 .NET 5 和更早版本:嘗試存取套接字時發生錯誤。

備註

重要

這是相容性 API。 不建議使用 APM (Begin*End*) 方法來進行新的開發。 請改用 Task以 為基礎的對等專案。

如果您使用連線導向通訊協定,您可以呼叫 BeginDisconnect 方法來起始與遠端端點的中斷連線。 如果 reuseSockettrue,您可以重複使用套接字。

您可以傳遞實作 AsyncCallback 的回呼給 BeginDisconnect ,以取得中斷連線作業完成的通知。 請注意,如果基礎網路堆疊以同步方式完成作業,則回呼可能會在呼叫 BeginDisconnect期間內嵌執行。 在此情況下, CompletedSynchronously 傳回 IAsyncResult 之 上的屬性會設定為 true ,表示方法會以同步方式完成。 AsyncState使用 的 IAsyncResult 屬性,取得傳遞至 BeginDisconnect 方法的狀態物件。

BeginDisconnect作業必須藉由呼叫 EndDisconnect 方法來完成。 一般而言,方法是由提供的 AsyncCallback 委派叫用。 EndDisconnect 將會封鎖呼叫線程,直到作業完成為止。

注意

如果您收到 SocketException 例外狀況,請使用 SocketException.ErrorCode 屬性來取得特定的錯誤碼。

注意

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

適用於