Socket.EndReceive Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Termina una lettura asincrona in attesa.
Overload
EndReceive(IAsyncResult) |
Termina una lettura asincrona in attesa. |
EndReceive(IAsyncResult, SocketError) |
Termina una lettura asincrona in attesa. |
EndReceive(IAsyncResult)
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
Termina una lettura asincrona in attesa.
public:
int EndReceive(IAsyncResult ^ asyncResult);
public int EndReceive (IAsyncResult asyncResult);
member this.EndReceive : IAsyncResult -> int
Public Function EndReceive (asyncResult As IAsyncResult) As Integer
Parametri
- asyncResult
- IAsyncResult
Oggetto IAsyncResult che memorizza informazioni sullo stato e qualsiasi dato definito dall'utente per l'operazione asincrona.
Restituisce
Numero di byte ricevuti.
Eccezioni
asyncResult
è null
.
asyncResult
non è stato restituito da una chiamata al metodo BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object).
EndReceive(IAsyncResult) è stato precedentemente chiamato per la lettura asincrona.
Si è verificato un errore durante il tentativo di accesso al socket.
-oppure-
Solo .NET 7+ : l'oggetto Socket è stato chiuso.
Solo .NET Framework, .NET Core e .NET 5-6: è Socket stato chiuso.
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 Task
equivalenti basati su base.
EndReceive completa l'operazione avviata da BeginReceive. È necessario passare l'oggetto IAsyncResult creato dalla chiamata corrispondente BeginReceive .
Il EndReceive metodo blocca fino a quando non sono disponibili i dati. Se si usa un protocollo senza connessione, EndReceive leggere il primo datagrammo conqueued disponibile nel buffer di rete in ingresso. Se si usa un protocollo orientato alla connessione, il EndReceive metodo leggerà quanti dati sono disponibili fino al numero di byte specificati nel size
parametro del BeginReceive metodo. Se l'host remoto arresta la connessione con il SocketShutdown metodo e tutti i dati disponibili sono stati ricevuti, il EndReceive metodo verrà completato immediatamente e restituirà zero byte.
Nota
Se si riceve un SocketExceptionoggetto , utilizzare la proprietà per ottenere il SocketException.ErrorCode codice di errore specifico.
Nota
Tutti gli I/O avviati da un determinato thread vengono annullati quando il thread viene chiuso. Un'operazione asincrona in sospeso può non riuscire se il thread viene chiuso prima del completamento dell'operazione.
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.
Vedi anche
- BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)
- AsyncCallback
- IAsyncResult
- AsyncState
- Shutdown(SocketShutdown)
Si applica a
EndReceive(IAsyncResult, SocketError)
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
Termina una lettura asincrona in attesa.
public:
int EndReceive(IAsyncResult ^ asyncResult, [Runtime::InteropServices::Out] System::Net::Sockets::SocketError % errorCode);
public int EndReceive (IAsyncResult asyncResult, out System.Net.Sockets.SocketError errorCode);
member this.EndReceive : IAsyncResult * SocketError -> int
Public Function EndReceive (asyncResult As IAsyncResult, ByRef errorCode As SocketError) As Integer
Parametri
- asyncResult
- IAsyncResult
Oggetto IAsyncResult che memorizza informazioni sullo stato e qualsiasi dato definito dall'utente per l'operazione asincrona.
- errorCode
- SocketError
Oggetto SocketError che memorizza l'errore del socket.
Restituisce
Numero di byte ricevuti.
Eccezioni
asyncResult
è null
.
asyncResult
non è stato restituito da una chiamata al metodo BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object).
EndReceive(IAsyncResult) è stato precedentemente chiamato per la lettura asincrona.
Si è verificato un errore durante il tentativo di accesso al socket.
-oppure-
Solo .NET 7+ : l'oggetto Socket è stato chiuso.
Solo .NET Framework, .NET Core e .NET 5-6: è Socket stato chiuso.
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 Task
equivalenti basati su base.
EndReceive completa l'operazione avviata da BeginReceive. È necessario passare l'oggetto IAsyncResult creato dalla chiamata corrispondente BeginReceive .
Il EndReceive metodo blocca fino a quando non sono disponibili i dati. Se si usa un protocollo senza connessione, EndReceive leggere il primo datagrammo conqueued disponibile nel buffer di rete in ingresso. Se si usa un protocollo orientato alla connessione, il EndReceive metodo leggerà quanti dati sono disponibili fino al numero di byte specificati nel size
parametro del BeginReceive metodo. Se l'host remoto arresta la connessione con il SocketShutdown metodo e tutti i dati disponibili sono stati ricevuti, il EndReceive metodo verrà completato immediatamente e restituirà zero byte.
Nota
Se si riceve un SocketExceptionoggetto , utilizzare la proprietà per ottenere il SocketException.ErrorCode codice di errore specifico.
Nota
Tutti gli I/O avviati da un determinato thread vengono annullati quando il thread viene chiuso. Un'operazione asincrona in sospeso può non riuscire se il thread viene chiuso prima del completamento dell'operazione.
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.
Vedi anche
- BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)
- AsyncCallback
- IAsyncResult
- AsyncState
- Shutdown(SocketShutdown)
Si applica a
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per