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 nicht blockierenden SocketS finden Sie unter Verwenden eines asynchronen Clientsockets. Sie können die -Klasse sowohl für die NetworkStream synchrone als auch für die asynchrone Datenübertragung verwenden. Weitere Informationen zur synchronen und asynchronen Kommunikation finden Sie unter Sockets.

Um einen NetworkStreamzu erstellen, müssen Sie eine verbundene Socketangeben. Sie können auch angeben, welche FileAccess Berechtigung für die NetworkStream bereitgestellte Socketverfügt. Standardmäßig schließt das Schließen von nicht NetworkStream die bereitgestellte Socket. Wenn Sie die NetworkStream Berechtigung zum Schließen der angegebenen Sockethaben möchten, müssen Sie für den Wert des ownsSocket Parameters angebentrue.

Verwenden Sie die Write Methoden und Read für einfache synchrone Blockierungs-E/A mit singlethreaded. Wenn Sie Ihre E/A-Vorgänge asynchron verarbeiten möchten, sollten Sie die Task - oder ValueTask-basierten Methoden ReadAsync und verwenden WriteAsync.

Der NetworkStream unterstützt keinen zufälligen Zugriff auf den Netzwerkdatenstrom. Der Wert der CanSeek -Eigenschaft, der angibt, ob der Stream 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 eine aus NotSupportedException.

Lese- und Schreibvorgänge können gleichzeitig auf einem instance 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 Kreuzinterferenz zwischen Lese- und Schreibthreads, und es ist keine Synchronisierung erforderlich.

Konstruktoren

NetworkStream(Socket)

Erstellt eine neue Instanz der NetworkStream-Klasse für den angegebenen Socket.

NetworkStream(Socket, Boolean)

Initialisiert eine neue Instanz der NetworkStream-Klasse für den angegebenen Socket mit dem angegebenen Besitz von Socket.

NetworkStream(Socket, FileAccess)

Erstellt eine neue Instanz der NetworkStream-Klasse für den angegebenen Socket mit den angegebenen Zugriffsrechten.

NetworkStream(Socket, FileAccess, Boolean)

Erstellt eine neue Instanz der NetworkStream-Klasse für den angegebenen Socket mit den angegebenen Zugriffsrechten und dem angegebenen Besitz von Socket.

Eigenschaften

CanRead

Ruft einen Wert ab, der angibt, ob der NetworkStream Lesevorgänge unterstützt.

CanSeek

Ruft einen Wert ab, der angibt, ob der Stream Suchvorgänge unterstützt. Diese Eigenschaft wird derzeit nicht unterstützt. Diese Eigenschaft gibt immer false zurück.

CanTimeout

Gibt an, ob Timeouteigenschaften für NetworkStream verwendet werden können.

CanTimeout

Ruft einen Wert ab, der bestimmt, ob für den aktuellen Stream ein Timeout möglich ist.

(Geerbt von Stream)
CanWrite

Ruft einen Wert ab, der angibt, ob der NetworkStream Schreibvorgänge unterstützt.

DataAvailable

Ruft einen Wert ab, der angibt, ob Daten für den verfügbar sind, die NetworkStream sofort gelesen werden sollen.

Length

Gibt die Länge der im Stream verfügbaren Daten an. Diese Eigenschaft wird gegenwärtig nicht unterstützt und löst immer eine NotSupportedException aus.

Position

Ruft die aktuelle Position im Stream ab oder legt diese fest. Diese Eigenschaft wird gegenwärtig nicht unterstützt und löst immer eine NotSupportedException aus.

Readable

Ruft einen Wert ab, der angibt, ob der NetworkStream gelesen werden kann, oder legt diesen fest.

ReadTimeout

Ruft die Zeitspanne ab, in der ein Lesevorgang während des Wartens auf Daten blockiert wird, oder legt diese fest.

ReadTimeout

Ruft einen Wert in Millisekunden ab, der bestimmt, wie lange der Stream versucht, Lesevorgänge durchzuführen, bevor ein Timeout auftritt, oder legt diesen fest.

(Geerbt von Stream)
Socket

Ruft die zugrunde liegende Socket ab.

Writeable

Ruft einen Wert ab, der angibt, ob in den NetworkStream geschrieben werden kann.

WriteTimeout

Ruft die Zeitspanne ab, in der ein Schreibvorgang während des Wartens auf Daten blockiert wird, oder legt diese fest.

WriteTimeout

Ruft einen Wert in Millisekunden ab, der bestimmt, wie lange der Stream versucht, Schreibvorgänge durchzuführen, bevor ein Timeout auftritt, oder legt diesen fest.

(Geerbt von Stream)

Methoden

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

Beginnt einen asynchronen Lesevorgang aus dem NetworkStream.

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

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

(Geerbt von Stream)
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

Beginnt einen asynchronen Schreibvorgang in einen Stream.

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

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

(Geerbt von Stream)
Close()

Schließt die NetworkStream-Klasse.

Close()

Schließt den aktuellen Stream und gibt alle dem aktuellen Stream zugeordneten Ressourcen frei (z. B. Sockets und Dateihandles). Anstatt diese Methode aufzurufen, stellen Sie sicher, dass der Stream ordnungsgemäß freigegeben wird.

(Geerbt von Stream)
Close(Int32)

Schließt den NetworkStream nach der angegebenen Zeitspanne, in der Daten gesendet werden können.

Close(TimeSpan)

Schließt die NetworkStream , nachdem die angegebene Zeitspanne gewartet wurde, um das Senden von Daten zuzulassen.

CopyTo(Stream)

Liest alle Bytes aus dem aktuellen Stream und schreibt sie in einen anderen Datenstrom. Beide Datenstrompositionen werden um die Anzahl der kopierten Bytes erweitert.

(Geerbt von Stream)
CopyTo(Stream, Int32)

Liest alles Bytes aus dem aktuellen Datenstrom und schreibt sie unter Verwendung einer angegebenen Puffergröße in einen anderen Datenstrom. Beide Datenstrompositionen werden um die Anzahl der kopierten Bytes erweitert.

(Geerbt von Stream)
CopyToAsync(Stream)

Liest die Bytes asynchron aus dem aktuellen Stream und schreibt sie in einen anderen Stream. Beide Datenstrompositionen werden um die Anzahl der kopierten Bytes erweitert.

(Geerbt von Stream)
CopyToAsync(Stream, CancellationToken)

Liest die Bytes asynchron aus dem aktuellen Stream und schreibt sie unter Verwendung eines angegebenen Abbruchtokens in einen anderen Stream. Beide Datenstrompositionen werden um die Anzahl der kopierten Bytes erweitert.

(Geerbt von Stream)
CopyToAsync(Stream, Int32)

Liest die Bytes asynchron aus dem aktuellen Stream und schreibt sie unter Verwendung einer angegebenen Puffergröße in einen anderen Stream. Beide Datenstrompositionen werden um die Anzahl der kopierten Bytes erweitert.

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

Liest die Bytes asynchron aus dem aktuellen Stream und schreibt sie unter Verwendung einer angegebenen Puffergröße und eines Abbruchtokens in einen anderen Stream. Beide Datenstrompositionen werden um die Anzahl der kopierten Bytes erweitert.

(Geerbt von Stream)
CreateObjRef(Type)

Erstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind.

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

Reserviert ein WaitHandle-Objekt.

(Geerbt von Stream)
Dispose()

Gibt alle vom Stream verwendeten Ressourcen frei.

(Geerbt von Stream)
Dispose(Boolean)

Gibt die von NetworkStream verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.

DisposeAsync()

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

(Geerbt von Stream)
EndRead(IAsyncResult)

Behandelt das Ende eines asynchronen Lesevorgangs.

EndRead(IAsyncResult)

Wartet, bis der ausstehende asynchrone Lesevorgang abgeschlossen ist. (Verwenden Sie stattdessen ReadAsync(Byte[], Int32, Int32).)

(Geerbt von Stream)
EndWrite(IAsyncResult)

Behandelt das Ende eines asynchronen Schreibvorgangs.

EndWrite(IAsyncResult)

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

(Geerbt von Stream)
Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
Finalize()

Gibt alle vom NetworkStream verwendeten Ressourcen frei.

Flush()

Schreibt Daten aus dem Stream weg. Diese Methode ist für eine spätere Verwendung vorgesehen.

FlushAsync()

Löscht sämtliche Puffer für diesen Stream asynchron und veranlasst die Ausgabe aller gepufferten Daten an das zugrunde liegende Gerät.

(Geerbt von Stream)
FlushAsync(CancellationToken)

Leert Daten aus dem Stream als asynchroner Vorgang.

FlushAsync(CancellationToken)

Löscht alle Puffer für diesen Stream asynchron und veranlasst die Ausgabe aller gepufferten Daten an das zugrunde liegende Gerät und überwacht Abbruchanforderungen.

(Geerbt von Stream)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetLifetimeService()
Veraltet.

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

(Geerbt von MarshalByRefObject)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
InitializeLifetimeService()
Veraltet.

Ruft ein Lebensdauerdienstobjekt zur Steuerung der Lebensdauerrichtlinie für diese Instanz ab.

(Geerbt von MarshalByRefObject)
MemberwiseClone()

Erstellt eine flache Kopie des 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 einen Contract.

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

Liest Daten aus NetworkStream und speichert sie in einem Bytearray.

Read(Span<Byte>)

Liest Daten aus NetworkStream und speichert sie in eine Bytespanne im Speicher.

Read(Span<Byte>)

Liest beim Überschreiben in einer abgeleiteten Klasse eine Folge von Bytes aus dem aktuellen Stream und erhöht die Position im Stream um die Anzahl der gelesenen Bytes.

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

Liest eine Bytesequenz asynchron aus dem aktuellen Stream und setzt die Position in diesem Stream um die Anzahl der gelesenen Bytes nach vorn.

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

Liest Daten aus NetworkStream und speichert sie als asynchronen Vorgang in einen festgelegten Bereich eines Bytearrays.

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

Liest eine Folge von Bytes asynchron aus aktuellen Stream, erhöht die Position im Stream um die Anzahl der gelesenen Bytes und überwacht Abbruchanfragen.

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

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

ReadAsync(Memory<Byte>, CancellationToken)

Liest eine Folge von Bytes asynchron aus aktuellen Stream, erhöht die Position im Stream um die Anzahl der gelesenen Bytes und überwacht Abbruchanfragen.

(Geerbt von Stream)
ReadAtLeast(Span<Byte>, Int32, Boolean)

Liest mindestens eine Mindestanzahl von Bytes aus dem aktuellen Stream und erhöht 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 Stream, erhöht die Position innerhalb des Datenstroms um die Anzahl der gelesenen Bytes und überwacht Abbruchanforderungen.

(Geerbt von Stream)
ReadByte()

Liest ein Byte aus NetworkStream und erhöht die Position im Datenstrom um ein Byte, oder gibt „-1“ zurück, wenn das Ende des Datenstroms erreicht ist.

ReadByte()

Liest ein Byte aus dem Stream und erhöht die Position im Stream um ein Byte, oder gibt -1 zurück, wenn das Ende des Streams erreicht ist.

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

count Liest die Anzahl von Bytes aus dem aktuellen Stream und verschiebt die Position innerhalb des Datenstroms.

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

Liest Bytes aus dem aktuellen Stream und verschiebt die Position innerhalb des Datenstroms, bis der buffer gefüllt ist.

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

Liest count die Anzahl von Bytes asynchron aus dem aktuellen Stream, erhöht die Position innerhalb des Datenstroms und überwacht Abbruchanforderungen.

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

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

(Geerbt von Stream)
Seek(Int64, SeekOrigin)

Legt die aktuelle Position des Streams auf den angegebenen Wert fest. Diese Methode wird gegenwärtig nicht unterstützt und löst immer eine NotSupportedException aus.

SetLength(Int64)

Legt die Länge des Streams fest. Diese Methode löst immer eine NotSupportedException aus.

ToString()

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

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

Schreibt Daten aus einem festgelegten Bereich eines Bytearrays in NetworkStream.

Write(ReadOnlySpan<Byte>)

Schreibt Daten aus einer schreibgeschützten Bytespanne in das NetworkStream -Element.

Write(ReadOnlySpan<Byte>)

Schreibt beim Überschreiben in einer abgeleiteten Klasse eine Folge von Bytes in den aktuellen Stream und erhöht die aktuelle Position im Stream um die Anzahl der geschriebenen Bytes.

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

Schreibt eine Bytesequenz asynchron in den aktuellen Stream und setzt die aktuelle Position in diesem Stream um die Anzahl der geschriebenen Bytes nach vorn.

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

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

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

Schreibt beim Überschreiben in einer abgeleiteten Klasse eine Folge von Bytes asynchron in den aktuellen Stream und erhöht die aktuelle Position im Stream um die Anzahl der geschriebenen Bytes und überwacht Abbruchanforderungen.

(Geerbt von Stream)
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Schreibt Daten aus einem schreibgeschützten Bytespeicherbereich als asynchronen Vorgang in NetworkStream.

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Schreibt beim Überschreiben in einer abgeleiteten Klasse eine Folge von Bytes asynchron in den aktuellen Stream und erhöht die aktuelle Position im Stream um die Anzahl der geschriebenen Bytes und überwacht Abbruchanforderungen.

(Geerbt von Stream)
WriteByte(Byte)

Schreibt ein Byte an die aktuellen Position in NetworkStream und erhöht die aktuelle Position im Datenstrom um ein Byte.

WriteByte(Byte)

Schreibt ein Byte an die aktuellen Position im Stream und erhöht die aktuelle Position im Stream um ein Byte.

(Geerbt von Stream)

Explizite Schnittstellenimplementierungen

IDisposable.Dispose()

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

Gibt alle vom NetworkStream verwendeten Ressourcen frei.

Erweiterungsmethoden

CopyToAsync(Stream, PipeWriter, CancellationToken)

Liest die Bytes asynchron aus der Stream-Klasse und schreibt sie unter Verwendung eines Abbruchtokens in die angegebene PipeWriter-Klasse.

ConfigureAwait(IAsyncDisposable, Boolean)

Konfiguriert, wie Wartezeiten auf die Aufgaben angewandt werden, die von einem asynchronen verwerfbaren Element zurückgegeben werden.

Gilt für:

Weitere Informationen