Teilen über


QuicStream Klasse

Definition

Stellt einen QUIC-Datenstrom dar. QuicStream kann unidirektionalensein, d. h. schreibgeschützt für die öffnende Seite oder bidirektionalen, wodurch beide Seiten schreiben können.

public ref class QuicStream sealed : System::IO::Stream
public sealed class QuicStream : System.IO.Stream
type QuicStream = class
    inherit Stream
Public NotInheritable Class QuicStream
Inherits Stream
Vererbung

Hinweise

QuicStream können auf die gleiche Weise wie jede andere Streamverwendet werden.

Neben einer Stream-API stellt QuicStream auch QUIC-spezifische Features zur Verfügung:

Eigenschaften

CanRead

Ruft einen Wert ab, der angibt, ob die QuicStream das Lesen unterstützt.

CanSeek

Ruft einen Wert ab, der angibt, ob die QuicStream die Suche unterstützt.

CanTimeout

Ruft einen Wert ab, der angibt, ob das QuicStream Timeout ausführen kann.

CanWrite

Ruft einen Wert ab, der angibt, ob die QuicStream das Schreiben unterstützt.

Id

Ruft die Datenstrom-ID ab.

Length

Ruft die Länge der im Datenstrom verfügbaren Daten ab. Diese Eigenschaft wird derzeit nicht unterstützt und löst immer eine NotSupportedExceptionaus.

Position

Ruft die Position innerhalb des aktuellen Datenstroms ab oder legt sie fest. Diese Eigenschaft wird derzeit nicht unterstützt und löst immer eine NotSupportedExceptionaus.

ReadsClosed

Ruft eine Task ab, die abgeschlossen wird, nachdem die Leseseite geschlossen wurde.

ReadTimeout

Dient zum Abrufen oder Festlegen eines Werts in Millisekunden, der bestimmt, wie lange der Datenstrom vor dem Timeout zu lesen versucht.

Type

Ruft den Datenstromtyp ab.

WritesClosed

Ruft eine Task ab, die abgeschlossen wird, wenn die Schreibseite geschlossen wurde.

WriteTimeout

Dient zum Abrufen oder Festlegen eines Werts in Millisekunden, der bestimmt, wie lange der Datenstrom versucht, vor dem Timeout zu schreiben.

Methoden

Abort(QuicAbortDirection, Int64)

Bricht entweder das Lesen, Schreiben, oder beide Seiten des Datenstroms ab.

BeginRead(Byte[], Int32, Int32, AsyncCallback, Object)

Startet einen asynchronen Lesevorgang. (Verwenden Sie stattdessen ReadAsync(Byte[], Int32, Int32).)

BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

Startet einen asynchronen Schreibvorgang. (Verwenden Sie stattdessen WriteAsync(Byte[], Int32, Int32).)

Close()

Schließt den aktuellen Datenstrom und gibt alle Ressourcen (z. B. Sockets und Dateihandles) frei, die dem aktuellen Datenstrom zugeordnet sind. Anstatt diese Methode aufzurufen, stellen Sie sicher, dass der Datenstrom ordnungsgemäß verworfen ist.

(Geerbt von Stream)
CompleteWrites()

Die Schreibseite des Datenstroms wird ordnungsgemäß abgeschlossen.

CopyTo(Stream)

Liest die Bytes aus dem aktuellen Datenstrom und schreibt sie in einen anderen Datenstrom. Beide Datenströme werden um die Anzahl der kopierten Bytes erweitert.

(Geerbt von Stream)
CopyTo(Stream, Int32)

Liest die Bytes aus dem aktuellen Datenstrom und schreibt sie mithilfe einer angegebenen Puffergröße in einen anderen Datenstrom. Beide Datenströme werden um die Anzahl der kopierten Bytes erweitert.

(Geerbt von Stream)
CopyToAsync(Stream)

Liest die Bytes asynchron aus dem aktuellen Datenstrom und schreibt sie in einen anderen Datenstrom. Beide Datenströme werden um die Anzahl der kopierten Bytes erweitert.

(Geerbt von Stream)
CopyToAsync(Stream, CancellationToken)

Liest die Bytes asynchron aus dem aktuellen Datenstrom und schreibt sie mithilfe eines angegebenen Abbruchtokens in einen anderen Datenstrom. Beide Datenströme werden um die Anzahl der kopierten Bytes erweitert.

(Geerbt von Stream)
CopyToAsync(Stream, Int32)

Liest die Bytes asynchron aus dem aktuellen Datenstrom und schreibt sie mithilfe einer angegebenen Puffergröße in einen anderen Datenstrom. Beide Datenströme werden um die Anzahl der kopierten Bytes erweitert.

(Geerbt von Stream)
CopyToAsync(Stream, Int32, CancellationToken)

Liest asynchron die Bytes aus dem aktuellen Datenstrom und schreibt sie in einen anderen Datenstrom, wobei eine angegebene Puffergröße und ein Abbruchtoken verwendet wird. Beide Datenströme werden um die Anzahl der kopierten Bytes erweitert.

(Geerbt von Stream)
CreateObjRef(Type)

Erstellt ein Objekt, das alle relevanten Informationen enthält, die zum Generieren eines Proxys erforderlich sind, der für die Kommunikation mit einem Remoteobjekt verwendet wird.

(Geerbt von MarshalByRefObject)
CreateWaitHandle()
Veraltet.
Veraltet.
Veraltet.

Weist ein WaitHandle-Objekt zu.

(Geerbt von Stream)
Dispose()

Gibt alle vom Streamverwendeten Ressourcen frei.

(Geerbt von Stream)
Dispose(Boolean)

Gibt die nicht verwalteten Ressourcen frei, die vom Stream verwendet werden, und gibt optional die verwalteten Ressourcen frei.

(Geerbt von Stream)
DisposeAsync()

Wenn die Leseseite nicht vollständig verbraucht wird, d. h. ReadsClosed nicht abgeschlossen ist oder ReadAsync(Memory<Byte>, CancellationToken) nicht 0zurückgegeben wurde, bricht die Leseseite mit der bereitgestellten DefaultStreamErrorCodeab. Wenn die Schreibseite nicht geschlossen wurde, wird sie ordnungsgemäß geschlossen, als ob CompleteWrites() aufgerufen wurde. Schließlich werden alle ressourcen, die dem Datenstrom zugeordnet sind, freigegeben.

EndRead(IAsyncResult)

Wartet auf den Abschluss des ausstehenden asynchronen Lesevorgangs. (Verwenden Sie stattdessen ReadAsync(Byte[], Int32, Int32).)

EndWrite(IAsyncResult)

Beendet einen asynchronen Schreibvorgang. (Verwenden Sie stattdessen WriteAsync(Byte[], Int32, Int32).)

Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
Flush()

Wenn sie in einer abgeleiteten Klasse überschrieben werden, werden alle Puffer für diesen Datenstrom gelöscht und alle gepufferten Daten auf das zugrunde liegende Gerät geschrieben.

FlushAsync()

Löscht asynchron alle Puffer für diesen Datenstrom und bewirkt, dass alle gepufferten Daten auf das zugrunde liegende Gerät geschrieben werden.

(Geerbt von Stream)
FlushAsync(CancellationToken)

Löscht asynchron alle Puffer für diesen Datenstrom, bewirkt, dass alle gepufferten Daten auf das zugrunde liegende Gerät geschrieben werden, und überwacht Abbruchanforderungen.

GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetLifetimeService()
Veraltet.

Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinie für diese Instanz steuert.

(Geerbt von MarshalByRefObject)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
InitializeLifetimeService()
Veraltet.

Ruft ein Lebensdauerdienstobjekt ab, um die Lebensdauerrichtlinie für diese Instanz zu steuern.

(Geerbt von MarshalByRefObject)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
MemberwiseClone(Boolean)

Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts.

(Geerbt von MarshalByRefObject)
ObjectInvariant()
Veraltet.

Bietet Unterstützung für eine Contract.

(Geerbt von Stream)
Read(Byte[], Int32, Int32)

Wenn sie in einer abgeleiteten Klasse überschrieben werden, liest sie eine Bytesequenz aus dem aktuellen Datenstrom und wechselt die Position innerhalb des Datenstroms um die Anzahl der gelesenen Bytes.

Read(Span<Byte>)

Wenn sie in einer abgeleiteten Klasse überschrieben werden, liest sie eine Bytesequenz aus dem aktuellen Datenstrom und wechselt die Position innerhalb des Datenstroms um die Anzahl der gelesenen Bytes.

ReadAsync(Byte[], Int32, Int32)

Liest asynchron eine Abfolge von Bytes aus dem aktuellen Datenstrom und wechselt die Position innerhalb des Datenstroms um die Anzahl der gelesenen Bytes.

(Geerbt von Stream)
ReadAsync(Byte[], Int32, Int32, CancellationToken)

Liest asynchron eine Abfolge von Bytes aus dem aktuellen Datenstrom, wechselt die Position innerhalb des Datenstroms um die Anzahl der gelesenen Bytes und überwacht Abbruchanforderungen.

ReadAsync(Memory<Byte>, CancellationToken)

Liest asynchron eine Abfolge von Bytes aus dem aktuellen Datenstrom, wechselt die Position innerhalb des Datenstroms um die Anzahl der gelesenen Bytes und überwacht Abbruchanforderungen.

ReadAtLeast(Span<Byte>, Int32, Boolean)

Liest mindestens eine Minimale Anzahl von Bytes aus dem aktuellen Datenstrom und wechselt die Position innerhalb des Datenstroms um die Anzahl der gelesenen Bytes.

(Geerbt von Stream)
ReadAtLeastAsync(Memory<Byte>, Int32, Boolean, CancellationToken)

Liest asynchron mindestens eine Mindestanzahl von Bytes aus dem aktuellen Datenstrom, wechselt die Position innerhalb des Datenstroms um die Anzahl der gelesenen Bytes und überwacht Abbruchanforderungen.

(Geerbt von Stream)
ReadByte()

Liest ein Byte aus dem Datenstrom und wechselt die Position innerhalb des Datenstroms um ein Byte oder gibt -1 zurück, wenn am Ende des Datenstroms.

ReadExactly(Byte[], Int32, Int32)

Liest count Anzahl von Bytes aus dem aktuellen Datenstrom und wechselt die Position innerhalb des Datenstroms.

(Geerbt von Stream)
ReadExactly(Span<Byte>)

Liest Bytes aus dem aktuellen Datenstrom und wechselt die Position innerhalb des Datenstroms, bis die buffer gefüllt ist.

(Geerbt von Stream)
ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken)

Liest asynchron count Anzahl von Bytes aus dem aktuellen Datenstrom, wechselt die Position innerhalb des Datenstroms und überwacht Abbruchanforderungen.

(Geerbt von Stream)
ReadExactlyAsync(Memory<Byte>, CancellationToken)

Liest asynchron Bytes aus dem aktuellen Datenstrom, wechselt die Position innerhalb des Datenstroms, bis die buffer gefüllt ist, und überwacht Abbruchanforderungen.

(Geerbt von Stream)
Seek(Int64, SeekOrigin)

Legt die aktuelle Position des Datenstroms auf den angegebenen Wert fest. Diese Methode wird derzeit nicht unterstützt und löst immer eine NotSupportedExceptionaus.

SetLength(Int64)

Legt die Länge des Datenstroms fest. Diese Methode wird derzeit nicht unterstützt und löst immer eine NotSupportedExceptionaus.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
Write(Byte[], Int32, Int32)

Wenn sie in einer abgeleiteten Klasse überschrieben wird, wird eine Bytesequenz in den aktuellen Datenstrom geschrieben und die aktuelle Position innerhalb dieses Datenstroms um die Anzahl der geschriebenen Bytes vorangestellt.

Write(ReadOnlySpan<Byte>)

Wenn sie in einer abgeleiteten Klasse überschrieben wird, wird eine Bytesequenz in den aktuellen Datenstrom geschrieben und die aktuelle Position innerhalb dieses Datenstroms um die Anzahl der geschriebenen Bytes vorangestellt.

WriteAsync(Byte[], Int32, Int32)

Schreibt asynchron eine Bytesequenz in den aktuellen Datenstrom und wechselt die aktuelle Position innerhalb dieses Datenstroms um die Anzahl der geschriebenen Bytes.

(Geerbt von Stream)
WriteAsync(Byte[], Int32, Int32, CancellationToken)

Schreibt asynchron eine Bytesequenz in den aktuellen Datenstrom, wechselt die aktuelle Position innerhalb dieses Datenstroms um die Anzahl der geschriebenen Bytes und überwacht Abbruchanforderungen.

WriteAsync(ReadOnlyMemory<Byte>, Boolean, CancellationToken)

Schreibt asynchron eine Bytesequenz in den aktuellen Datenstrom, wechselt die aktuelle Position innerhalb dieses Datenstroms um die Anzahl der geschriebenen Bytes und überwacht Abbruchanforderungen.

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Schreibt asynchron eine Bytesequenz in den aktuellen Datenstrom, wechselt die aktuelle Position innerhalb dieses Datenstroms um die Anzahl der geschriebenen Bytes und überwacht Abbruchanforderungen.

WriteByte(Byte)

Schreibt ein Byte in die aktuelle Position im Datenstrom und wechselt die Position innerhalb des Datenstroms um ein Byte.

Erweiterungsmethoden

CopyToAsync(Stream, PipeWriter, CancellationToken)

Liest die Bytes asynchron aus dem Stream und schreibt sie mithilfe eines Abbruchtokens in das angegebene PipeWriter.

ConfigureAwait(IAsyncDisposable, Boolean)

Konfiguriert, wie auf die von einem asynchronen Einweg zurückgegebenen Aufgaben gewartet wird.

Gilt für:

Weitere Informationen