Socket.DisconnectAsync(SocketAsyncEventArgs) Method


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



The SocketAsyncEventArgs object to use for this asynchronous socket operation.



true if the I/O operation is pending. The Completed event on the e parameter will be raised upon completion of the operation.

false if the I/O operation completed synchronously. 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.


The e parameter cannot be null.

A socket operation was already in progress using the SocketAsyncEventArgs object specified in the e parameter.

Windows XP or later is required for this method.

The Socket has been closed.

An error occurred when attempting to access the socket.


When using a connection-oriented protocol, calling the DisconnectAsync method requests a disconnect from a remote endpoint. If you set SocketAsyncEventArgs.DisconnectReuseSocket to true in the e parameter, the socket can be reused.

Applies to

See also