Socket.DisconnectAsync(SocketAsyncEventArgs) メソッド


リモート エンドポイントからの切断の非同期要求を開始します。Begins an asynchronous request to disconnect from a remote endpoint.

 bool DisconnectAsync(System::Net::Sockets::SocketAsyncEventArgs ^ e);
public bool DisconnectAsync (System.Net.Sockets.SocketAsyncEventArgs e);
member this.DisconnectAsync : System.Net.Sockets.SocketAsyncEventArgs -> bool
Public Function DisconnectAsync (e As SocketAsyncEventArgs) As Boolean



この非同期ソケット操作に使用する SocketAsyncEventArgs オブジェクト。The SocketAsyncEventArgs object to use for this asynchronous socket operation.


I/O 操作が保留中の場合は truetrue if the I/O operation is pending. 操作の完了時に、e パラメーターの Completed イベントが発生します。The Completed event on the e parameter will be raised upon completion of the operation.

I/O 操作が同期的に完了した場合は falsefalse if the I/O operation completed synchronously. この場合、e パラメーターの Completed イベントは発生しません。メソッド呼び出しから制御が戻った直後に、パラメーターとして渡された e オブジェクトを調べて操作の結果を取得できます。In this case, The Completed event on the e parameter will not be raised and the e object passed as a parameter may be examined immediately after the method call returns to retrieve the result of the operation.


e パラメーターを null 値にすることはできません。The e parameter cannot be null.

e パラメーターに指定された SocketAsyncEventArgs オブジェクトを使用してソケット操作が既に進行していました。A socket operation was already in progress using the SocketAsyncEventArgs object specified in the e parameter.

このメソッドには Windows XP 以降が必要です。Windows XP or later is required for this method.

Socket が閉じられました。The Socket has been closed.

ソケットへのアクセスを試行しているときにエラーが発生しました。An error occurred when attempting to access the socket.


接続指向プロトコルを使用する場合、DisconnectAsync メソッドを呼び出すと、リモートエンドポイントからの切断が要求されます。When using a connection-oriented protocol, calling the DisconnectAsync method requests a disconnect from a remote endpoint. SocketAsyncEventArgs.DisconnectReuseSockete パラメーターで true に設定すると、ソケットを再利用できます。If you set SocketAsyncEventArgs.DisconnectReuseSocket to true in the e parameter, the socket can be reused.