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 sospeso.
Overload
| Nome | Descrizione |
|---|---|
| EndReceive(IAsyncResult) |
Termina una lettura asincrona in sospeso. |
| EndReceive(IAsyncResult, SocketError) |
Termina una lettura asincrona in sospeso. |
EndReceive(IAsyncResult)
- Origine:
- Socket.cs
- Origine:
- Socket.cs
- Origine:
- Socket.cs
- Origine:
- Socket.cs
- Origine:
- Socket.cs
Termina una lettura asincrona in sospeso.
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 archivia le informazioni sullo stato e i dati definiti dall'utente per questa operazione asincrona.
Restituisce
Numero totale di byte ricevuti. Il metodo restituisce zero (0) solo se sono stati richiesti zero byte o se non sono disponibili più byte perché il socket peer ha eseguito un arresto normale. Se vengono richiesti zero byte, le operazioni di ricezione possono essere completate immediatamente o potrebbero non essere completate fino a quando non è disponibile almeno un byte (ma senza utilizzare alcun dato).
Eccezioni
asyncResult è null.
asyncResult non è stato restituito da una chiamata al BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) metodo .
EndReceive(IAsyncResult) è stato chiamato in precedenza 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 nuovi sviluppi. Usare invece gli Taskequivalenti basati su .
EndReceive completa l'operazione avviata da BeginReceive. È necessario passare l'oggetto IAsyncResult creato dalla chiamata corrispondente BeginReceive .
Il EndReceive metodo verrà bloccato fino a quando non saranno disponibili i dati. Se si usa un protocollo senza connessione, EndReceive leggerà il primo datagramma accodato disponibile nel buffer di rete in ingresso. Se si usa un protocollo orientato alla connessione, il EndReceive metodo leggerà la quantità di dati disponibile fino al numero di byte specificato nel size parametro del BeginReceive metodo . Se l'host remoto arresta la Socket connessione con il Shutdown metodo e tutti i dati disponibili sono stati ricevuti, il EndReceive metodo verrà completato immediatamente e restituirà zero byte.
Annotazioni
Se si riceve un oggetto SocketException, utilizzare la SocketException.ErrorCode proprietà per ottenere il codice di errore specifico.
Annotazioni
Tutte le operazioni di I/O avviate da un determinato thread vengono annullate quando il thread viene chiuso. Un'operazione asincrona in sospeso può non riuscire se il thread viene chiuso prima del completamento dell'operazione.
Annotazioni
Questo membro restituisce informazioni di traccia quando si abilita la traccia di rete nell'applicazione. 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)
- Origine:
- Socket.cs
- Origine:
- Socket.cs
- Origine:
- Socket.cs
- Origine:
- Socket.cs
- Origine:
- Socket.cs
Termina una lettura asincrona in sospeso.
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 archivia le informazioni sullo stato e i dati definiti dall'utente per questa operazione asincrona.
- errorCode
- SocketError
Oggetto SocketError che archivia l'errore socket.
Restituisce
Numero totale di byte ricevuti. Il metodo restituisce zero (0) solo se sono stati richiesti zero byte o se non sono disponibili più byte perché il socket peer ha eseguito un arresto normale. Se vengono richiesti zero byte, le operazioni di ricezione possono essere completate immediatamente o potrebbero non essere completate fino a quando non è disponibile almeno un byte (ma senza utilizzare alcun dato).
Eccezioni
asyncResult è null.
asyncResult non è stato restituito da una chiamata al BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) metodo .
EndReceive(IAsyncResult) è stato chiamato in precedenza 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 nuovi sviluppi. Usare invece gli Taskequivalenti basati su .
EndReceive completa l'operazione avviata da BeginReceive. È necessario passare l'oggetto IAsyncResult creato dalla chiamata corrispondente BeginReceive .
Il EndReceive metodo verrà bloccato fino a quando non saranno disponibili i dati. Se si usa un protocollo senza connessione, EndReceive leggerà il primo datagramma accodato disponibile nel buffer di rete in ingresso. Se si usa un protocollo orientato alla connessione, il EndReceive metodo leggerà la quantità di dati disponibile fino al numero di byte specificato nel size parametro del BeginReceive metodo . Se l'host remoto arresta la Socket connessione con il Shutdown metodo e tutti i dati disponibili sono stati ricevuti, il EndReceive metodo verrà completato immediatamente e restituirà zero byte.
Annotazioni
Se si riceve un oggetto SocketException, utilizzare la SocketException.ErrorCode proprietà per ottenere il codice di errore specifico.
Annotazioni
Tutte le operazioni di I/O avviate da un determinato thread vengono annullate quando il thread viene chiuso. Un'operazione asincrona in sospeso può non riuscire se il thread viene chiuso prima del completamento dell'operazione.
Annotazioni
Questo membro restituisce informazioni di traccia quando si abilita la traccia di rete nell'applicazione. Per altre informazioni, vedere Traccia di rete in .NET Framework.
Vedi anche
- BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)
- AsyncCallback
- IAsyncResult
- AsyncState
- Shutdown(SocketShutdown)