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

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie Sie eine NetworkStream aus einer verbundenen Verbindung StreamSocket erstellen und grundlegende synchrone Blockierungs-I/O ausführen.

// Examples for constructors that do not specify file permission.
// Create the NetworkStream for communicating with the remote host.
NetworkStream^ myNetworkStream;

if ( networkStreamOwnsSocket )
{
   myNetworkStream = gcnew NetworkStream( mySocket,true );
}
else
{
   myNetworkStream = gcnew NetworkStream( mySocket );
}
// Examples for constructors that do not specify file permission.

// Create the NetworkStream for communicating with the remote host.
NetworkStream myNetworkStream;

if (networkStreamOwnsSocket){
     myNetworkStream = new NetworkStream(mySocket, true);
}
else{
     myNetworkStream = new NetworkStream(mySocket);
}
' Examples for constructors that do not specify file permission.
' Create the NetworkStream for communicating with the remote host.
Dim myNetworkStream As NetworkStream

If networkStreamOwnsSocket Then
   myNetworkStream = New NetworkStream(mySocket, True)
Else
   myNetworkStream = New NetworkStream(mySocket)
End If

Hinweise

Die NetworkStream Klasse bietet Methoden zum Senden und Empfangen von Daten über Stream Sockets im Blockierungsmodus. Weitere Informationen zum Blockieren von nicht blockierten S finden Sie unter Verwenden eines asynchronenSocket Client sockets. Sie können die NetworkStream Klasse sowohl für synchrone als auch für asynchrone Datenübertragung verwenden. Weitere Informationen zur synchronen und asynchronen Kommunikation finden Sie unter Sockets.

Zum Erstellen eines NetworkStream, müssen Sie eine verbundene SocketBereitstellung bereitstellen. Sie können auch angeben, welche FileAccess Berechtigung über NetworkStream die bereitgestellte SocketBerechtigung verfügt. Standardmäßig wird das Schließen der NetworkStream bereitgestellten SocketDatei nicht geschlossen. Wenn Sie die Berechtigung haben möchtenNetworkStream, die bereitgestellte SocketOption zu schließen, müssen Sie den Wert des ownsSocket Parameters angebentrue.

Verwenden Sie die Write Methoden und Read Methoden für einfache synchrone Threadblockierung I/O. Wenn Sie Ihre I/O mithilfe separater Threads verarbeiten möchten, sollten Sie die Verwendung der Methoden oder methoden für die BeginWrite EndWrite BeginRead EndRead Kommunikation berücksichtigen.

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

Lese- und Schreibvorgänge können gleichzeitig in einer Instanz der NetworkStream Klasse ausgeführt werden, ohne dass die 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 Quereinmischung 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 im NetworkStream Daten für einen Lesevorgang verfügbar sind.

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)
CopyTo(Stream)

Liest alle Bytes aus dem aktuellen Stream und schreibt sie in einen anderen Datenstrom.

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

(Geerbt von Stream)
CopyToAsync(Stream)

Liest die Bytes asynchron aus dem aktuellen Stream und schreibt sie in einen anderen Stream.

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

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

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

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

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

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

ConfigureAwait(IAsyncDisposable, Boolean)

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

Gilt für

Siehe auch