次の方法で共有


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 渡される状態オブジェクトを取得するには、 の プロパティ IAsyncResultBeginDisconnect 使用します。

メソッドを BeginDisconnect 呼び出して操作を完了する EndDisconnect 必要があります。 通常、 メソッドは、指定された AsyncCallback デリゲートによって呼び出されます。 EndDisconnect は、操作が完了するまで呼び出し元のスレッドをブロックします。

注意

例外が発生した場合は SocketException 、 プロパティを SocketException.ErrorCode 使用して特定のエラー コードを取得します。

Note

このメンバーは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。 詳細については、「.NET Frameworkのネットワーク トレース」を参照してください。

適用対象