Socket.BeginDisconnect(Boolean, AsyncCallback, Object) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
開始非同步要求,以中斷遠端端點的連接。
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 物件,參考非同步作業。
例外狀況
僅限 .NET Framework 和 .NET 5 和更早版本:嘗試存取套接字時發生錯誤。
備註
重要
這是相容性 API。 不建議使用 APM (Begin*
和 End*
) 方法來進行新的開發。 請改用 Task
以 為基礎的對等專案。
如果您使用連線導向通訊協定,您可以呼叫 BeginDisconnect 方法來起始與遠端端點的中斷連線。 如果 reuseSocket
為 true
,您可以重複使用套接字。
您可以傳遞實作 AsyncCallback 的回呼給 BeginDisconnect ,以取得中斷連線作業完成的通知。 請注意,如果基礎網路堆疊以同步方式完成作業,則回呼可能會在呼叫 BeginDisconnect期間內嵌執行。 在此情況下, CompletedSynchronously 傳回 IAsyncResult 之 上的屬性會設定為 true
,表示方法會以同步方式完成。
AsyncState使用 的 IAsyncResult 屬性,取得傳遞至 BeginDisconnect 方法的狀態物件。
BeginDisconnect作業必須藉由呼叫 EndDisconnect 方法來完成。 一般而言,方法是由提供的 AsyncCallback 委派叫用。 EndDisconnect 將會封鎖呼叫線程,直到作業完成為止。
注意
如果您收到 SocketException 例外狀況,請使用 SocketException.ErrorCode 屬性來取得特定的錯誤碼。
注意
在應用程式中啟用網路追蹤時,這個成員會輸出追蹤資訊。 如需詳細資訊,請參閱 .NET Framework 中的網路追蹤。