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.DisconnectReuseSocket true ソケットを e 再利用できます。If you set SocketAsyncEventArgs.DisconnectReuseSocket to true in the e parameter, the socket can be reused.