Udostępnij za pośrednictwem


NetworkStream.ReadAsync Metoda

Definicja

Przeciążenia

ReadAsync(Memory<Byte>, CancellationToken)

Odczytuje dane z obiektu NetworkStream i przechowuje je w zakresie pamięci bajtów jako operację asynchroniczną.

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

Odczytuje dane z obiektu NetworkStream i zapisuje je w określonym zakresie tablicy bajtów jako operację asynchroniczną.

ReadAsync(Memory<Byte>, CancellationToken)

Źródło:
NetworkStream.cs
Źródło:
NetworkStream.cs
Źródło:
NetworkStream.cs

Odczytuje dane z obiektu NetworkStream i przechowuje je w zakresie pamięci bajtów jako operację asynchroniczną.

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 do zapisania danych.

cancellationToken
CancellationToken

Token do monitorowania żądań anulowania.

Zwraca

Element ValueTask<TResult> reprezentujący operację odczytu asynchronicznego. Wartość jej Result właściwości zawiera całkowitą liczbę bajtów odczytanych do elementu buffer.

Wyjątki

Funkcja NetworkStream nie obsługuje odczytywania.

Wystąpił błąd podczas uzyskiwania dostępu do gniazda.

-lub-

Wystąpił błąd odczytu z sieci.

Element NetworkStream jest zamknięty.

Token anulowania został anulowany. Ten wyjątek jest przechowywany w zwracanym zadaniu.

Uwagi

Ta metoda odczytuje tyle danych, ile jest dostępnych, buffer i zwraca liczbę bajtów, które zostały pomyślnie odczytane.

Uwaga

Sprawdź, czy NetworkStream właściwość jest czytelna, wywołując CanRead właściwość . Jeśli spróbujesz odczytać element NetworkStream , który nie jest czytelny, otrzymasz element InvalidOperationException.

Uwaga

Jeśli otrzymasz element IOException, sprawdź InnerException właściwość , aby ustalić, czy została ona spowodowana przez element 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.

Dotyczy

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

Źródło:
NetworkStream.cs
Źródło:
NetworkStream.cs
Źródło:
NetworkStream.cs

Odczytuje dane z obiektu NetworkStream i zapisuje je w określonym zakresie tablicy bajtów jako operację asynchroniczną.

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(cli::array <System::Byte> ^ buffer, int offset, int count, System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.Task<int> ReadAsync (byte[] buffer, int offset, int size, System.Threading.CancellationToken cancellationToken);
public override System.Threading.Tasks.Task<int> ReadAsync (byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken);
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)
Public Overrides Function ReadAsync (buffer As Byte(), offset As Integer, count As Integer, cancellationToken As CancellationToken) As Task(Of Integer)

Parametry

buffer
Byte[]

Bufor do zapisania danych.

offset
Int32

Lokalizacja w buffer programie , w celu rozpoczęcia przechowywania danych.

sizecount
Int32

Liczba bajtów do odczytania z elementu NetworkStream.

cancellationToken
CancellationToken

Token do monitorowania żądań anulowania.

Zwraca

Zadanie reprezentujące asynchroniczną operację odczytu. Wartość jej Result właściwości zawiera całkowitą liczbę bajtów odczytanych do elementu buffer.

Wyjątki

Funkcja NetworkStream nie obsługuje odczytywania.

Wystąpił błąd podczas uzyskiwania dostępu do gniazda.

-lub-

Wystąpił błąd odczytu z sieci.

Element NetworkStream jest zamknięty.

Token anulowania został anulowany. Ten wyjątek jest przechowywany w zwracanym zadaniu.

Uwagi

Ta metoda odczytuje dane do buffer elementu i zwraca liczbę bajtów pomyślnie odczytanych. Operacja ReadAsync odczytuje tyle danych, ile jest dostępnych, do liczby bajtów określonych przez size parametr .

Uwaga

Sprawdź, czy NetworkStream właściwość jest czytelna, wywołując CanRead właściwość . Jeśli spróbujesz odczytać element NetworkStream , który nie jest czytelny, otrzymasz element InvalidOperationException.

Uwaga

Jeśli otrzymasz element IOException, sprawdź InnerException właściwość , aby ustalić, czy została ona spowodowana przez element 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.

Ta metoda jest przechowywana w zadaniu, które zwraca wszystkie wyjątki nieużytowe, które może zgłosić synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwracanym zadaniu, ten wyjątek zostanie zgłoszony podczas oczekiwania zadania. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. W przypadku przechowywanych wyjątków zobacz wyjątki zgłoszone przez Read(Byte[], Int32, Int32)usługę .

Dotyczy