NetworkStream.ReadAsync Metoda

Definicja

Przeciążenia

ReadAsync(Memory<Byte>, CancellationToken)

Odczytuje dane z NetworkStream i zapisuje je w zakresie pamięci bajtowej jako operacja asynchroniczna.Reads data from the NetworkStream and stores it in a byte memory range as an asynchronous operation.

ReadAsync(Byte[], Int32, Int32, CancellationToken)

Odczytuje dane z NetworkStream i zapisuje je do określonego zakresu tablicy bajtów jako operacji asynchronicznej.Reads data from the NetworkStream and stores it to a specified range of a byte array as an asynchronous operation.

ReadAsync(Memory<Byte>, CancellationToken)

Odczytuje dane z NetworkStream i zapisuje je w zakresie pamięci bajtowej jako operacja asynchroniczna.Reads data from the NetworkStream and stores it in a byte memory range as an asynchronous operation.

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)

Parametry

buffer
Memory<Byte>

Bufor, w którym mają zostać zapisane dane.The buffer to write the data to.

cancellationToken
CancellationToken

Token do monitorowania żądań anulowania.The token to monitor for cancellation requests.

Zwraca

ValueTask<Int32>

ValueTask<TResult>Reprezentuje asynchroniczną operację odczytu.A ValueTask<TResult> that represents the asynchronous read operation. Wartość Result właściwości zawiera łączną liczbę odczytanych bajtów buffer .The value of its Result property contains the total number of bytes read into buffer.

Wyjątki

Program nie NetworkStream obsługuje odczytywania.The NetworkStream does not support reading.

Wystąpił błąd podczas uzyskiwania dostępu do gniazda.An error occurred when accessing the socket.

-lub--or-

Wystąpił błąd podczas odczytywania z sieci.There is a failure reading from the network.

NetworkStreamJest zamknięty.The NetworkStream is closed.

Uwagi

Ta metoda odczytuje tyle danych, ile jest dostępnych do buffer i zwraca liczbę pomyślnie odczytywanych bajtów.This method reads as much data as is available into buffer and returns the number of bytes successfully read.

Uwaga

Sprawdź, czy NetworkStream jest możliwy do odczytania przez wywołanie CanRead właściwości.Check to see if the NetworkStream is readable by calling the CanRead property. W przypadku próby odczytu z programu, NetworkStream który nie jest czytelny, zostanie wyświetlony komunikat InvalidOperationException .If you attempt to read from a NetworkStream that is not readable, you will get an InvalidOperationException.

Uwaga

Jeśli zostanie wyświetlony komunikat IOException , sprawdź InnerException Właściwość, aby określić, czy został on spowodowany przez SocketException .If you receive an IOException, check the InnerException property to determine if it was caused by a SocketException. Jeśli tak, użyj ErrorCode właściwości, aby uzyskać określony kod błędu i zapoznaj się z dokumentacją kodu błędu interfejsu API Windows Sockets w wersji 2 , aby uzyskać szczegółowy opis błędu.If so, use the ErrorCode property to obtain the specific error code and refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error.

Dotyczy

ReadAsync(Byte[], Int32, Int32, CancellationToken)

Odczytuje dane z NetworkStream i zapisuje je do określonego zakresu tablicy bajtów jako operacji asynchronicznej.Reads data from the NetworkStream and stores it to a specified range of a byte array as an asynchronous operation.

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);
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)

Parametry

buffer
Byte[]

Bufor, w którym mają zostać zapisane dane.The buffer to write the data into.

offset
Int32

Lokalizacja w, w której buffer rozpocznie się przechowywanie danych.The location in buffer to begin storing the data to.

size
Int32

Liczba bajtów do odczytania z NetworkStream .The number of bytes to read from the NetworkStream.

cancellationToken
CancellationToken

Token do monitorowania żądań anulowania.The token to monitor for cancellation requests.

Zwraca

Task<Int32>

Zadanie, które reprezentuje asynchroniczną operację odczytu.A task that represents the asynchronous read operation. Wartość Result właściwości zawiera łączną liczbę odczytanych bajtów buffer .The value of its Result property contains the total number of bytes read into buffer.

Wyjątki

Program nie NetworkStream obsługuje odczytywania.The NetworkStream does not support reading.

Wystąpił błąd podczas uzyskiwania dostępu do gniazda.An error occurred when accessing the socket.

-lub--or-

Wystąpił błąd podczas odczytywania z sieci.There is a failure reading from the network.

NetworkStreamJest zamknięty.The NetworkStream is closed.

Uwagi

Ta metoda odczytuje dane do buffer i zwraca liczbę pomyślnie odczytywanych bajtów.This method reads data into buffer and returns the number of bytes successfully read. ReadAsyncOperacja odczytuje tyle danych, ile jest dostępnych, do liczby bajtów określonej przez size parametr.The ReadAsync operation reads as much data as is available, up to the number of bytes specified by the size parameter.

Uwaga

Sprawdź, czy NetworkStream jest możliwy do odczytania przez wywołanie CanRead właściwości.Check to see if the NetworkStream is readable by calling the CanRead property. W przypadku próby odczytu z programu, NetworkStream który nie jest czytelny, zostanie wyświetlony komunikat InvalidOperationException .If you attempt to read from a NetworkStream that is not readable, you will get an InvalidOperationException.

Uwaga

Jeśli zostanie wyświetlony komunikat IOException , sprawdź InnerException Właściwość, aby określić, czy został on spowodowany przez SocketException .If you receive an IOException, check the InnerException property to determine if it was caused by a SocketException. Jeśli tak, użyj ErrorCode właściwości, aby uzyskać określony kod błędu i zapoznaj się z dokumentacją kodu błędu interfejsu API Windows Sockets w wersji 2 , aby uzyskać szczegółowy opis błędu.If so, use the ErrorCode property to obtain the specific error code and refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error.

Dotyczy