Compartir vía


Socket.BeginDisconnect(Boolean, AsyncCallback, Object) Método

Definición

Comienza una solicitud asincrónica para desconectar de un punto de conexión remoto.

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

Parámetros

reuseSocket
Boolean

true si este socket se puede reutilizar después de cerrar la conexión; de lo contrario, false.

callback
AsyncCallback

Delegado AsyncCallback .

state
Object

Objeto que contiene información de estado para esta solicitud.

Devoluciones

Objeto IAsyncResult que hace referencia a la operación asincrónica.

Excepciones

El Socket objeto se ha cerrado.

.NET Framework y .NET 5 y versiones anteriores solo: se produjo un error al intentar acceder al socket.

Comentarios

Importante

Se trata de una API de compatibilidad. No se recomienda usar los métodos APM (Begin* y End*) para el nuevo desarrollo. En su lugar, use los Taskequivalentes basados en .

Si usa un protocolo orientado a la conexión, puede llamar al método para iniciar la BeginDisconnect desconexión desde un punto de conexión remoto. Si reuseSocket es true, puede reutilizar el socket.

Puede pasar una devolución de llamada que se AsyncCallbackBeginDisconnect implemente en para recibir una notificación sobre la finalización de la operación de desconexión. Tenga en cuenta que si la pila de red subyacente completa la operación de forma sincrónica, es posible que la devolución de llamada se ejecute en línea durante la llamada a BeginDisconnect. En este caso, la CompletedSynchronously propiedad del devuelto IAsyncResult se establecerá en true para indicar que el método se completó sincrónicamente. Utilice la AsyncState propiedad de para obtener el objeto de IAsyncResult estado pasado al BeginDisconnect método .

La BeginDisconnect operación debe completarse llamando al EndDisconnect método . Normalmente, el delegado proporcionado AsyncCallback invoca el método . EndDisconnect bloqueará el subproceso que realiza la llamada hasta que se complete la operación.

Nota:

Si recibe una SocketException excepción, use la SocketException.ErrorCode propiedad para obtener el código de error específico.

Nota:

Este miembro genera información de seguimiento al habilitar el seguimiento de red en la aplicación. Para obtener más información, consulte Seguimiento de red en .NET Framework.

Se aplica a