NetworkStream.ReadAsync 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.
Overload
| Nome | Descrizione |
|---|---|
| ReadAsync(Memory<Byte>, CancellationToken) |
Legge i dati dall'oggetto NetworkStream e li archivia in un intervallo di memoria di byte come operazione asincrona. |
| ReadAsync(Byte[], Int32, Int32, CancellationToken) |
Legge i dati dall'oggetto NetworkStream e li archivia in un intervallo specificato di una matrice di byte come operazione asincrona. |
ReadAsync(Memory<Byte>, CancellationToken)
Legge i dati dall'oggetto NetworkStream e li archivia in un intervallo di memoria di byte come operazione asincrona.
public override System.Threading.Tasks.ValueTask<int> ReadAsync(Memory<byte> buffer, System.Threading.CancellationToken cancellationToken = default);
override this.ReadAsync : Memory<byte> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Overrides Function ReadAsync (buffer As Memory(Of Byte), Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)
Parametri
- cancellationToken
- CancellationToken
Token da monitorare per le richieste di annullamento.
Valori restituiti
Oggetto ValueTask<TResult> che rappresenta l'operazione di lettura asincrona. Il valore della proprietà Result contiene il numero totale di byte letti buffer tra zero (0) e il numero di byte richiesti. Il valore del risultato è 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 lettura possono essere completate immediatamente o potrebbero non essere completate fino a quando non è disponibile almeno un byte (ma senza utilizzare alcun dato).
Eccezioni
Non NetworkStream supporta la lettura.
Si è verificato un errore durante l'accesso al socket.
oppure
Si è verificato un errore durante la lettura dalla rete.
L'oggetto NetworkStream è chiuso.
Il token di annullamento è stato annullato. Questa eccezione viene archiviata nell'attività restituita.
Commenti
Questo metodo legge la quantità di dati disponibile in buffer e restituisce il numero di byte letti correttamente.
Note
Controllare se è NetworkStream leggibile chiamando la CanRead proprietà . Se si tenta di leggere da un oggetto NetworkStream che non è leggibile, si otterrà un oggetto InvalidOperationException.
Note
Se si riceve un oggetto IOException, controllare la InnerException proprietà per determinare se è stata causata da un oggetto SocketException. In tal caso, usare la proprietà ErrorCode per ottenere il codice di errore specifico e fare riferimento al codice di errore api Windows Sockets versione 2 documentazione per una descrizione dettagliata dell'errore.
Si applica a
ReadAsync(Byte[], Int32, Int32, CancellationToken)
Legge i dati dall'oggetto NetworkStream e li archivia in un intervallo specificato di una matrice di byte come operazione asincrona.
public:
override System::Threading::Tasks::Task<int> ^ ReadAsync(cli::array <System::Byte> ^ buffer, int offset, int size, System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.Task<int> ReadAsync(byte[] buffer, int offset, int size, System.Threading.CancellationToken cancellationToken);
abstract member ReadAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
override this.ReadAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
override this.ReadAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
Public Overrides Function ReadAsync (buffer As Byte(), offset As Integer, size As Integer, cancellationToken As CancellationToken) As Task(Of Integer)
Parametri
- buffer
- Byte[]
Buffer in cui scrivere i dati.
- offset
- Int32
Posizione in buffer in cui iniziare a archiviare i dati.
- countsize
- Int32
Numero di byte da leggere da NetworkStream.
- cancellationToken
- CancellationToken
Token da monitorare per le richieste di annullamento.
Valori restituiti
Attività che rappresenta l'operazione di lettura asincrona. Il valore della proprietà Result contiene il numero totale di byte letti buffer tra zero (0) e il numero di byte richiesti. Il valore del risultato è 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 lettura possono essere completate immediatamente o potrebbero non essere completate fino a quando non è disponibile almeno un byte (ma senza utilizzare alcun dato).
Eccezioni
Non NetworkStream supporta la lettura.
Si è verificato un errore durante l'accesso al socket.
oppure
Si è verificato un errore durante la lettura dalla rete.
L'oggetto NetworkStream è chiuso.
Il token di annullamento è stato annullato. Questa eccezione viene archiviata nell'attività restituita.
Commenti
Questo metodo legge i dati in buffer e restituisce il numero di byte letti correttamente. L'operazione ReadAsync legge la quantità di dati disponibile, fino al numero di byte specificato dal count parametro .
Note
Controllare se è NetworkStream leggibile chiamando la CanRead proprietà . Se si tenta di leggere da un oggetto NetworkStream che non è leggibile, si otterrà un oggetto InvalidOperationException.
Note
Se si riceve un oggetto IOException, controllare la InnerException proprietà per determinare se è stata causata da un oggetto SocketException. In tal caso, usare la proprietà ErrorCode per ottenere il codice di errore specifico e fare riferimento al codice di errore api Windows Sockets versione 2 documentazione per una descrizione dettagliata dell'errore.
Questo metodo archivia nell'attività che restituisce tutte le eccezioni non di utilizzo che la controparte sincrona del metodo può generare. Se un'eccezione viene archiviata nell'attività restituita, tale eccezione verrà generata quando l'attività è attesa. Le eccezioni di utilizzo, ad esempio ArgumentException, vengono comunque generate in modo sincrono. Per le eccezioni archiviate, vedere le eccezioni generate da Read(Byte[], Int32, Int32).