NetworkStream.ReadAsync Methode

Definition

Überlädt

Name Beschreibung
ReadAsync(Memory<Byte>, CancellationToken)

Liest Daten aus dem NetworkStream Speicher und speichert sie als asynchronen Vorgang in einem Bytespeicherbereich.

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

Liest Daten aus dem NetworkStream Array und speichert sie als asynchronen Vorgang in einem angegebenen Bereich eines Bytearrays.

ReadAsync(Memory<Byte>, CancellationToken)

Liest Daten aus dem NetworkStream Speicher und speichert sie als asynchronen Vorgang in einem Bytespeicherbereich.

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)

Parameter

buffer
Memory<Byte>

Der Puffer, in den die Daten geschrieben werden sollen.

cancellationToken
CancellationToken

Das Token, das auf Abbruchanforderungen überwacht werden soll.

Gibt zurück

Ein ValueTask<TResult> Wert, der den asynchronen Lesevorgang darstellt. Der Wert seiner Result Eigenschaft enthält die Gesamtanzahl der Bytes, die zwischen Null (0) und der Anzahl der angeforderten Bytes gelesen buffer werden. Der Ergebniswert ist null (0), wenn null Bytes angefordert wurden oder wenn keine weiteren Bytes verfügbar sind, da der Peersocket ein ordnungsgemäßes Herunterfahren ausgeführt hat. Wenn Nullbytes angefordert werden, können Lesevorgänge sofort abgeschlossen oder nicht abgeschlossen werden, bis mindestens ein Byte verfügbar ist (aber ohne Datenverbrauch).

Ausnahmen

Das NetworkStream Lesen wird nicht unterstützt.

Fehler beim Zugriff auf den Socket.

-oder-

Fehler beim Lesen aus dem Netzwerk.

Das NetworkStream ist geschlossen.

Das Abbruchtoken wurde abgebrochen. Diese Ausnahme wird in der zurückgegebenen Aufgabe gespeichert.

Hinweise

Diese Methode liest so viele Daten, wie sie verfügbar buffer sind, und gibt die Anzahl der Bytes zurück, die erfolgreich gelesen wurden.

Note

Überprüfen Sie, ob dies NetworkStream durch Aufrufen der CanRead Eigenschaft lesbar ist. Wenn Sie versuchen, aus einem NetworkStream nicht lesbaren Text zu lesen, erhalten Sie eine InvalidOperationException.

Note

Wenn Sie eine IOExceptionEigenschaft erhalten, überprüfen Sie die InnerException Eigenschaft, um zu ermitteln, ob sie durch eine SocketException. Wenn ja, verwenden Sie die ErrorCode-Eigenschaft, um den spezifischen Fehlercode abzurufen, und verweisen Sie auf den Fehlercode Windows Sockets Version 2 API, um eine detaillierte Beschreibung des Fehlers zu erhalten.

Gilt für:

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

Liest Daten aus dem NetworkStream Array und speichert sie als asynchronen Vorgang in einem angegebenen Bereich eines Bytearrays.

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)

Parameter

buffer
Byte[]

Der Puffer, in den die Daten geschrieben werden sollen.

offset
Int32

Der Speicherort buffer , an dem die Daten gespeichert werden sollen.

countsize
Int32

Die Anzahl der Bytes, aus der NetworkStreamgelesen werden soll.

cancellationToken
CancellationToken

Das Token, das auf Abbruchanforderungen überwacht werden soll.

Gibt zurück

Eine Aufgabe, die den asynchronen Lesevorgang darstellt. Der Wert seiner Result Eigenschaft enthält die Gesamtanzahl der Bytes, die zwischen Null (0) und der Anzahl der angeforderten Bytes gelesen buffer werden. Der Ergebniswert ist null (0), wenn null Bytes angefordert wurden oder wenn keine weiteren Bytes verfügbar sind, da der Peersocket ein ordnungsgemäßes Herunterfahren ausgeführt hat. Wenn Nullbytes angefordert werden, können Lesevorgänge sofort abgeschlossen oder nicht abgeschlossen werden, bis mindestens ein Byte verfügbar ist (aber ohne Datenverbrauch).

Ausnahmen

Das NetworkStream Lesen wird nicht unterstützt.

Fehler beim Zugriff auf den Socket.

-oder-

Fehler beim Lesen aus dem Netzwerk.

Das NetworkStream ist geschlossen.

Das Abbruchtoken wurde abgebrochen. Diese Ausnahme wird in der zurückgegebenen Aufgabe gespeichert.

Hinweise

Diese Methode liest Daten in buffer und gibt die Anzahl der Bytes zurück, die erfolgreich gelesen wurden. Der ReadAsync Vorgang liest so viele Daten wie verfügbar, bis zur Anzahl der by den count Parameter angegebenen Bytes.

Note

Überprüfen Sie, ob dies NetworkStream durch Aufrufen der CanRead Eigenschaft lesbar ist. Wenn Sie versuchen, aus einem NetworkStream nicht lesbaren Text zu lesen, erhalten Sie eine InvalidOperationException.

Note

Wenn Sie eine IOExceptionEigenschaft erhalten, überprüfen Sie die InnerException Eigenschaft, um zu ermitteln, ob sie durch eine SocketException. Wenn ja, verwenden Sie die ErrorCode-Eigenschaft, um den spezifischen Fehlercode abzurufen, und verweisen Sie auf den Fehlercode Windows Sockets Version 2 API, um eine detaillierte Beschreibung des Fehlers zu erhalten.

Diese Methode speichert in der Aufgabe, die alle Nicht-Verwendungs-Ausnahmen zurückgibt, die das synchrone Gegenstück der Methode auslösen kann. Wenn eine Ausnahme in der zurückgegebenen Aufgabe gespeichert wird, wird diese Ausnahme ausgelöst, wenn die Aufgabe erwartet wird. Verwendungsausnahmen, z. B. ArgumentException, werden weiterhin synchron ausgelöst. Informationen zu den gespeicherten Ausnahmen finden Sie in den von Read(Byte[], Int32, Int32).

Gilt für: