Freigeben über


NetworkStream Klasse

Definition

Stellt den zugrunde liegenden Datenstrom für den Netzwerkzugriff bereit.

public ref class NetworkStream : System::IO::Stream
public class NetworkStream : System.IO.Stream
type NetworkStream = class
    inherit Stream
type NetworkStream = class
    inherit Stream
    interface IDisposable
Public Class NetworkStream
Inherits Stream
Vererbung
NetworkStream
Vererbung
Implementiert

Hinweise

Die NetworkStream Klasse stellt Methoden zum Senden und Empfangen von Daten über Stream Sockets im Blockierungsmodus bereit. Weitere Informationen zum Blockieren und Nichtblocking Socketvon S finden Sie unter Verwenden eines asynchronen Clientsockets. Sie können die NetworkStream Klasse sowohl für synchrone als auch für asynchrone Datenübertragungen verwenden. Weitere Informationen zur synchronen und asynchronen Kommunikation finden Sie unter Sockets.

Zum Erstellen eines NetworkStream, müssen Sie eine verbundene Socket. Sie können auch angeben, welche FileAccess Berechtigung für die NetworkStream bereitgestellte Berechtigung vorhanden Socketist. Standardmäßig schließt das Schließen des NetworkStream angegebenen SocketWerts nicht. Wenn Sie über die NetworkStream Berechtigung zum Schließen des bereitgestellten SocketParameters verfügen möchten, müssen Sie für den Wert des ownsSocket Parameters angebentrue.

Verwenden Sie die Write Methoden und Read Methoden für einfache synchrone Blockierungs-E/A mit einfachem SingleThreading. Wenn Sie Ihre E/A asynchron verarbeiten möchten, erwägen Sie die Verwendung der Task methoden oder ValueTask-basierten Methoden ReadAsync und .WriteAsync

Der NetworkStream zufällige Zugriff auf den Netzwerkdatenstrom wird nicht unterstützt. Der Wert der CanSeek Eigenschaft, der angibt, ob der Datenstrom die Suche unterstützt, ist immer false; das Lesen der Position Eigenschaft, das Lesen der Length Eigenschaft oder das Aufrufen der Seek Methode löst ein NotSupportedException.

Lese- und Schreibvorgänge können gleichzeitig für eine Instanz der NetworkStream Klasse ausgeführt werden, ohne dass eine Synchronisierung erforderlich ist. Solange es einen eindeutigen Thread für die Schreibvorgänge und einen eindeutigen Thread für die Lesevorgänge gibt, gibt es keine Querinteraktionen zwischen Lese- und Schreibthreads, und es ist keine Synchronisierung erforderlich.

Konstruktoren

Name Beschreibung
NetworkStream(Socket, Boolean)

Initialisiert eine neue Instanz der NetworkStream Klasse für den angegebenen SocketSocket Besitz.

NetworkStream(Socket, FileAccess, Boolean)

Erstellt eine neue Instanz der NetworkStream Klasse für die angegebenen Socket Zugriffsrechte und den angegebenen Socket Besitz.

NetworkStream(Socket, FileAccess)

Erstellt eine neue Instanz der NetworkStream Klasse für die angegebenen Socket Zugriffsberechtigungen.

NetworkStream(Socket)

Erstellt eine neue Instanz der NetworkStream Klasse für die angegebene Socket.

Eigenschaften

Name Beschreibung
CanRead

Ruft einen Wert ab, der angibt, ob das NetworkStream Lesen unterstützt wird.

CanSeek

Ruft einen Wert ab, der angibt, ob der Datenstrom die Suche unterstützt. Diese Eigenschaft wird derzeit nicht unterstützt. Diese Eigenschaft gibt immer zurück false.

CanTimeout

Gibt an, ob Timeouteigenschaften für NetworkStream.

CanWrite

Ruft einen Wert ab, der angibt, ob das NetworkStream Schreiben unterstützt wird.

DataAvailable

Ruft einen Wert ab, der NetworkStream angibt, ob Daten sofort gelesen werden können.

Length

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

Position

Ruft die aktuelle Position im Datenstrom ab oder legt sie fest. Diese Eigenschaft wird derzeit nicht unterstützt und löst immer ein NotSupportedException.

Readable

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob die NetworkStream Gelesen werden kann.

ReadTimeout

Ruft die Zeitspanne ab, die ein Lesevorgang blockiert, der auf Daten wartet, oder legt diesen fest.

Socket

Ruft den zugrunde liegenden Socketab.

Writeable

Ruft einen Wert ab, der angibt, ob die NetworkStream Schreibbar ist.

WriteTimeout

Dient zum Abrufen oder Festlegen der Zeitspanne, die ein Schreibvorgang blockiert, der auf Daten wartet.

Methoden

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

Beginnt einen asynchronen Lesevorgang aus dem NetworkStream.

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

Startet einen asynchronen Schreibvorgang in einen Datenstrom.

Close()

Schließt die NetworkStream.

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)
Close(Int32)

Schließt die NetworkStream Nach dem Warten auf die angegebene Zeit, um zuzulassen, dass Daten gesendet werden.

Close(TimeSpan)

Schließt die Zeit nach dem NetworkStream Warten, um zuzulassen, dass Daten gesendet werden.

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)
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)
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, 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)
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)

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)
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.

Ordnet ein WaitHandle Objekt zu.

(Geerbt von Stream)
Dispose()

Veröffentlicht alle ressourcen, die von der Stream.

(Geerbt von Stream)
Dispose(Boolean)

Gibt die nicht verwalteten Ressourcen frei, die von den NetworkStream verwalteten Ressourcen verwendet werden, und gibt optional die verwalteten Ressourcen frei.

DisposeAsync()

Gibt asynchron die nicht verwalteten Ressourcen frei, die von der Stream.

(Geerbt von Stream)
EndRead(IAsyncResult)

Behandelt das Ende eines asynchronen Lesevorgangs.

EndWrite(IAsyncResult)

Behandelt das Ende eines asynchronen Schreibvorgangs.

Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
Finalize()

Veröffentlicht alle ressourcen, die von der NetworkStream.

Flush()

Löscht Daten aus dem Datenstrom. Diese Methode ist für die zukünftige Verwendung reserviert.

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 Daten aus dem Datenstrom als asynchronen Vorgang.

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 ein Contract.

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

Liest Daten aus dem NetworkStream Array und speichert sie in einem Bytearray.

Read(Span<Byte>)

Liest Daten aus dem NetworkStream Speicher und speichert sie in einem Bereich von Bytes im Arbeitsspeicher.

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.

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

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

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.

(Geerbt von Stream)
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(Memory<Byte>, CancellationToken)

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

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.

(Geerbt von Stream)
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 der NetworkStream Position innerhalb des Datenstroms um ein Byte oder gibt -1 zurück, wenn am Ende des Datenstroms.

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.

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

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

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

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

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

Liest asynchron die Anzahl der Bytes aus dem aktuellen Datenstrom, wechselt die Position innerhalb des Datenstroms count 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 Daten gefüllt sind, 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 ein NotSupportedException.

SetLength(Int64)

Legt die Länge des Datenstroms fest. Diese Methode löst immer ein NotSupportedException.

ToString()

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

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

Schreibt Daten aus einem angegebenen Bereich eines Bytearrays in den NetworkStream angegebenen Bereich.

Write(ReadOnlySpan<Byte>)

Schreibt Daten aus einer schreibgeschützten Bytespanne in die NetworkStream Daten.

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.

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

Schreibt Daten aus dem angegebenen Bereich eines Bytearrays als asynchronen Vorgang in NetworkStream den angegebenen Bereich.

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.

(Geerbt von Stream)
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(ReadOnlyMemory<Byte>, CancellationToken)

Schreibt Daten aus einem schreibgeschützten Speicherbytespeicherbereich als asynchronen Vorgang in NetworkStream den Schreibschutzbereich.

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.

(Geerbt von Stream)
WriteByte(Byte)

Schreibt ein Byte in die aktuelle Position in der NetworkStream Und wechselt die Position innerhalb des Datenstroms um ein Byte.

WriteByte(Byte)

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

(Geerbt von Stream)

Explizite Schnittstellenimplementierungen

Name Beschreibung
IDisposable.Dispose()

Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht.

Veröffentlicht alle ressourcen, die von der NetworkStream.

Erweiterungsmethoden

Name Beschreibung
ConfigureAwait(IAsyncDisposable, Boolean)

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

CopyToAsync(Stream, PipeWriter, CancellationToken)

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

Gilt für:

Weitere Informationen