NetworkStream.ReadAsync Methode

Definitie

Overloads

Name Description
ReadAsync(Memory<Byte>, CancellationToken)

Leest gegevens uit de NetworkStream gegevens en slaat deze op in een bytegeheugenbereik als asynchrone bewerking.

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

Hiermee worden gegevens uit de NetworkStream gegevens gelezen en opgeslagen in een opgegeven bereik van een bytematrix als asynchrone bewerking.

ReadAsync(Memory<Byte>, CancellationToken)

Leest gegevens uit de NetworkStream gegevens en slaat deze op in een bytegeheugenbereik als asynchrone bewerking.

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)

Parameters

buffer
Memory<Byte>

De buffer waar de gegevens naar moeten worden geschreven.

cancellationToken
CancellationToken

Het token dat moet worden gecontroleerd op annuleringsaanvragen.

Retouren

Een ValueTask<TResult> die de asynchrone leesbewerking vertegenwoordigt. De waarde van Result de eigenschap bevat het totale aantal bytes dat is gelezen buffer tussen nul (0) en het aantal aangevraagde bytes. De resultaatwaarde is alleen nul (0) als er nul bytes zijn aangevraagd of als er geen bytes meer beschikbaar zijn omdat de peersocket een probleemloos afsluiten heeft uitgevoerd. Als er nul bytes worden aangevraagd, kunnen leesbewerkingen onmiddellijk of niet worden voltooid totdat ten minste één byte beschikbaar is (maar zonder gegevens te gebruiken).

Uitzonderingen

Het NetworkStream biedt geen ondersteuning voor lezen.

Er is een fout opgetreden bij het openen van de socket.

– of –

Er is een fout opgetreden bij het lezen van het netwerk.

Het annuleringstoken is geannuleerd. Deze uitzondering wordt opgeslagen in de geretourneerde taak.

Opmerkingen

Deze methode leest zoveel gegevens als beschikbaar is in buffer en retourneert het aantal bytes dat is gelezen.

Note

Controleer of de NetworkStream eigenschap kan worden gelezen door de CanRead eigenschap aan te roepen. Als u probeert te lezen van een NetworkStream die niet leesbaar is, krijgt u een InvalidOperationException.

Note

Als u een IOException, controleert u de InnerException eigenschap om te bepalen of deze is veroorzaakt door een SocketException. Als dit het probleem is, gebruikt u de eigenschap ErrorCode om de specifieke foutcode te verkrijgen en raadpleegt u de Windows Sockets versie 2 API-foutcode voor een gedetailleerde beschrijving van de fout.

Van toepassing op

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

Hiermee worden gegevens uit de NetworkStream gegevens gelezen en opgeslagen in een opgegeven bereik van een bytematrix als asynchrone bewerking.

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)

Parameters

buffer
Byte[]

De buffer om de gegevens naar te schrijven.

offset
Int32

De locatie waar buffer de gegevens worden opgeslagen.

countsize
Int32

Het aantal bytes dat moet worden gelezen uit de NetworkStream.

cancellationToken
CancellationToken

Het token dat moet worden gecontroleerd op annuleringsaanvragen.

Retouren

Een taak die de asynchrone leesbewerking vertegenwoordigt. De waarde van Result de eigenschap bevat het totale aantal bytes dat is gelezen buffer tussen nul (0) en het aantal aangevraagde bytes. De resultaatwaarde is alleen nul (0) als er nul bytes zijn aangevraagd of als er geen bytes meer beschikbaar zijn omdat de peersocket een probleemloos afsluiten heeft uitgevoerd. Als er nul bytes worden aangevraagd, kunnen leesbewerkingen onmiddellijk of niet worden voltooid totdat ten minste één byte beschikbaar is (maar zonder gegevens te gebruiken).

Uitzonderingen

Het NetworkStream biedt geen ondersteuning voor lezen.

Er is een fout opgetreden bij het openen van de socket.

– of –

Er is een fout opgetreden bij het lezen van het netwerk.

Het annuleringstoken is geannuleerd. Deze uitzondering wordt opgeslagen in de geretourneerde taak.

Opmerkingen

Deze methode leest gegevens in buffer en retourneert het aantal bytes dat is gelezen. De ReadAsync bewerking leest zoveel gegevens als beschikbaar is, tot het aantal bytes dat is opgegeven door de count parameter.

Note

Controleer of de NetworkStream eigenschap kan worden gelezen door de CanRead eigenschap aan te roepen. Als u probeert te lezen van een NetworkStream die niet leesbaar is, krijgt u een InvalidOperationException.

Note

Als u een IOException, controleert u de InnerException eigenschap om te bepalen of deze is veroorzaakt door een SocketException. Als dit het probleem is, gebruikt u de eigenschap ErrorCode om de specifieke foutcode te verkrijgen en raadpleegt u de Windows Sockets versie 2 API-foutcode voor een gedetailleerde beschrijving van de fout.

Deze methode slaat op in de taak die alle uitzonderingen voor niet-gebruik retourneert die de synchrone tegenhanger van de methode kan genereren. Als er een uitzondering wordt opgeslagen in de geretourneerde taak, wordt deze uitzondering gegenereerd wanneer de taak wordt gewacht. Gebruiksonderzondering, zoals ArgumentException, worden nog steeds synchroon gegenereerd. Zie de uitzonderingen die zijn gegenereerd door Read(Byte[], Int32, Int32)de opgeslagen uitzonderingen voor de opgeslagen uitzonderingen.

Van toepassing op