Condividi tramite


Socket.BeginDisconnect(Boolean, AsyncCallback, Object) Metodo

Definizione

Avvia una richiesta asincrona di disconnessione da un endpoint 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

Parametri

reuseSocket
Boolean

true se il socket può essere riutilizzato una volta chiusa la connessione; in caso contrario, false.

callback
AsyncCallback

Delegato AsyncCallback.

state
Object

Oggetto che contiene informazioni sullo stato per questa richiesta.

Restituisce

Oggetto IAsyncResult che fa riferimento all'operazione asincrona.

Eccezioni

L'oggetto Socket è stato chiuso.

Solo .NET Framework e .NET 5 e versioni precedenti: si è verificato un errore durante il tentativo di accesso al socket.

Commenti

Importante

Si tratta di un'API di compatibilità. Non è consigliabile usare i metodi APM (Begin* e End*) per il nuovo sviluppo. Usare invece gli Taskequivalenti basati su base.

Se si usa un protocollo orientato alla connessione, è possibile chiamare il BeginDisconnect metodo per avviare la disconnessione da un endpoint remoto. Se reuseSocket è true, è possibile riutilizzare il socket.

È possibile passare un callback che implementa AsyncCallback per BeginDisconnect ricevere una notifica al completamento dell'operazione di disconnessione. Si noti che se lo stack di rete sottostante completa l'operazione in modo sincrono, il callback potrebbe essere eseguito inline, durante la chiamata a BeginDisconnect. In questo caso, la CompletedSynchronously proprietà sul restituito verrà impostata IAsyncResult su per true indicare che il metodo è stato completato in modo sincrono. Utilizzare la AsyncState proprietà dell'oggetto IAsyncResult per ottenere l'oggetto state passato al BeginDisconnect metodo .

L'operazione BeginDisconnect deve essere completata chiamando il EndDisconnect metodo . In genere, il metodo viene richiamato dal delegato fornito AsyncCallback . EndDisconnect blocca il thread chiamante fino al completamento dell'operazione.

Nota

Se si riceve un'eccezione SocketException , utilizzare la proprietà per ottenere il SocketException.ErrorCode codice di errore specifico.

Nota

Questo membro genera informazioni di traccia quando viene abilitata la funzionalità di traccia di rete nell'applicazione in uso. Per altre informazioni, vedere Traccia di rete in .NET Framework.

Si applica a