NetworkStream.ReadAsync Metoda

Definice

Přetížení

Name Description
ReadAsync(Memory<Byte>, CancellationToken)

Čte data z oblasti NetworkStream bajtů a ukládá je do bajtového rozsahu paměti jako asynchronní operace.

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

Načte data z NetworkStream a uloží je do zadané oblasti bajtového pole jako asynchronní operace.

ReadAsync(Memory<Byte>, CancellationToken)

Zdroj:
NetworkStream.cs
Zdroj:
NetworkStream.cs
Zdroj:
NetworkStream.cs
Zdroj:
NetworkStream.cs
Zdroj:
NetworkStream.cs

Čte data z oblasti NetworkStream bajtů a ukládá je do bajtového rozsahu paměti jako asynchronní operace.

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>

Vyrovnávací paměť pro zápis dat do.

cancellationToken
CancellationToken

Token pro monitorování žádostí o zrušení.

Návraty

A ValueTask<TResult> , který představuje asynchronní operaci čtení. Hodnota jeho Result vlastnosti obsahuje celkový počet bajtů přečtených mezi buffer nulou (0) a počtem požadovaných bajtů. Výsledná hodnota je nula (0), pouze pokud byly požadovány nulové bajty nebo pokud nejsou k dispozici žádné další bajty, protože peer socket provedl řádné vypnutí. Pokud jsou požadovány nulové bajty, operace čtení se mohou dokončit okamžitě nebo nemusí být dokončeny, dokud nebude k dispozici alespoň jeden bajt (ale bez použití jakýchkoli dat).

Výjimky

Při přístupu k soketu došlo k chybě.

nebo

Při čtení ze sítě došlo k chybě.

Token zrušení byl zrušen. Tato výjimka je uložena do vrácené úlohy.

Poznámky

Tato metoda čte tolik dat, kolik je k dispozici, buffer a vrátí počet bajtů úspěšně přečtených.

Note

Zkontrolujte, jestli NetworkStream je čitelný voláním CanRead vlastnosti. Pokud se pokusíte číst z objektuNetworkStream, který není čitelný, získáte .InvalidOperationException

Note

Pokud obdržíte , IOExceptionzkontrolujte InnerException vlastnost a zjistěte, zda byla způsobena SocketException. Pokud ano, použijte vlastnost ErrorCode k získání konkrétního kódu chyby a odkazujte na kód chyby Windows Sockets verze 2 rozhraní API dokumentaci k podrobnému popisu chyby.

Platí pro

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

Zdroj:
NetworkStream.cs
Zdroj:
NetworkStream.cs
Zdroj:
NetworkStream.cs
Zdroj:
NetworkStream.cs
Zdroj:
NetworkStream.cs

Načte data z NetworkStream a uloží je do zadané oblasti bajtového pole jako asynchronní operace.

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

Parametry

buffer
Byte[]

Vyrovnávací paměť pro zápis dat do.

offset
Int32

Umístění, do buffer které chcete začít ukládat data.

countsize
Int32

Počet bajtů, které mají být načteny z objektu NetworkStream.

cancellationToken
CancellationToken

Token pro monitorování žádostí o zrušení.

Návraty

Úloha, která představuje asynchronní operaci čtení. Hodnota jeho Result vlastnosti obsahuje celkový počet bajtů přečtených mezi buffer nulou (0) a počtem požadovaných bajtů. Výsledná hodnota je nula (0), pouze pokud byly požadovány nulové bajty nebo pokud nejsou k dispozici žádné další bajty, protože peer socket provedl řádné vypnutí. Pokud jsou požadovány nulové bajty, operace čtení se mohou dokončit okamžitě nebo nemusí být dokončeny, dokud nebude k dispozici alespoň jeden bajt (ale bez použití jakýchkoli dat).

Výjimky

Při přístupu k soketu došlo k chybě.

nebo

Při čtení ze sítě došlo k chybě.

Token zrušení byl zrušen. Tato výjimka je uložena do vrácené úlohy.

Poznámky

Tato metoda načte data a buffer vrátí počet bajtů, které byly úspěšně přečteny. Operace ReadAsync čte tolik dat, kolik je k dispozici, až do počtu bajtů určených parametrem count .

Note

Zkontrolujte, jestli NetworkStream je čitelný voláním CanRead vlastnosti. Pokud se pokusíte číst z objektuNetworkStream, který není čitelný, získáte .InvalidOperationException

Note

Pokud obdržíte , IOExceptionzkontrolujte InnerException vlastnost a zjistěte, zda byla způsobena SocketException. Pokud ano, použijte vlastnost ErrorCode k získání konkrétního kódu chyby a odkazujte na kód chyby Windows Sockets verze 2 rozhraní API dokumentaci k podrobnému popisu chyby.

Tato metoda ukládá do úlohy všechny výjimky bez použití, které může vyvolat synchronní protějšek metody. Pokud je výjimka uložena do vrácené úlohy, tato výjimka bude vyvolána, když je úkol očekáván. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. V případě uložených výjimek se podívejte na výjimky vyvolané Read(Byte[], Int32, Int32).

Platí pro