NetworkStream.ReadAsync Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
- 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
Nepodporuje NetworkStream čtení.
To NetworkStream je uzavřeno.
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
Nepodporuje NetworkStream čtení.
To NetworkStream je uzavřeno.
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).