NetworkStream Klasse

Definition

Stellt den zugrunde liegenden Datenstrom für den Netzwerkzugriff bereit.Provides the underlying stream of data for network access.

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

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie ein NetworkStream aus einem verbundenen StreamSocket erstellt und grundlegende synchrone blockierende e/a-Vorgänge durchgeführt werden.The following code example demonstrates how to create a NetworkStream from a connected StreamSocket and perform basic synchronous blocking I/O.

// 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 stellt Methoden zum Senden und empfangen von Daten über Stream Sockets im Blockierungs Modus bereit.The NetworkStream class provides methods for sending and receiving data over Stream sockets in blocking mode. Weitere Informationen zu Blockierungen und nicht blockierenden Sockets finden Sie unter Verwenden eines asynchronen Client Sockets.For more information about blocking versus nonblocking Sockets, see Using an Asynchronous Client Socket. Sie können die NetworkStream-Klasse sowohl für synchrone als auch für asynchrone Datenübertragungen verwenden.You can use the NetworkStream class for both synchronous and asynchronous data transfer. Weitere Informationen zur synchronen und asynchronen Kommunikation finden Sie unter Sockets.For more information about synchronous and asynchronous communication, see Sockets.

Um einen NetworkStreamzu erstellen, müssen Sie eine verbundene Socketbereitstellen.To create a NetworkStream, you must provide a connected Socket. Sie können auch angeben, welche FileAccess Berechtigung der NetworkStream über die angegebene Sockethat.You can also specify what FileAccess permission the NetworkStream has over the provided Socket. Standardmäßig wird beim Schließen des NetworkStream die angegebene Socketnicht geschlossen.By default, closing the NetworkStream does not close the provided Socket. Wenn Sie möchten, dass die NetworkStream über die Berechtigung zum Schließen des bereitgestellten Socketverfügen, müssen Sie true für den Wert des ownsSocket-Parameters angeben.If you want the NetworkStream to have permission to close the provided Socket, you must specify true for the value of the ownsSocket parameter.

Verwenden Sie die Methoden Write und Read für einfache synchrone blockierende e/As mit einem einzelnen Thread.Use the Write and Read methods for simple single thread synchronous blocking I/O. Wenn Sie Ihre e/a-Vorgänge mit separaten Threads verarbeiten möchten, sollten Sie die Methoden BeginWrite und EndWrite oder die Methoden BeginRead und EndRead für die Kommunikation verwenden.If you want to process your I/O using separate threads, consider using the BeginWrite and EndWrite methods, or the BeginRead and EndRead methods for communication.

Der NetworkStream unterstützt keinen zufälligen Zugriff auf den Netzwerkdaten Strom.The NetworkStream does not support random access to the network data stream. Der Wert der CanSeek-Eigenschaft, die angibt, ob der Stream Suchvorgänge unterstützt, immer falseist. Wenn Sie die Position-Eigenschaft lesen, die Length-Eigenschaft lesen oder die Seek-Methode aufrufen, wird ein NotSupportedExceptionausgelöst.The value of the CanSeek property, which indicates whether the stream supports seeking, is always false; reading the Position property, reading the Length property, or calling the Seek method will throw a NotSupportedException.

Lese-und Schreibvorgänge können gleichzeitig für eine Instanz der NetworkStream-Klasse ausgeführt werden, ohne dass eine Synchronisierung erforderlich ist.Read and write operations can be performed simultaneously on an instance of the NetworkStream class without the need for synchronization. Solange es einen eindeutigen Thread für die Schreibvorgänge und einen eindeutigen Thread für die Lesevorgänge gibt, gibt es keine übergreifenden Störungen zwischen Lese-und Schreib Threads, und es ist keine Synchronisierung erforderlich.As long as there is one unique thread for the write operations and one unique thread for the read operations, there will be no cross-interference between read and write threads and no synchronization is required.

Konstruktoren

NetworkStream(Socket)

Erstellt eine neue Instanz der NetworkStream-Klasse für den angegebenen Socket.Creates a new instance of the NetworkStream class for the specified Socket.

NetworkStream(Socket, Boolean)

Initialisiert eine neue Instanz der NetworkStream-Klasse für den angegebenen Socket mit dem angegebenen Besitz von Socket.Initializes a new instance of the NetworkStream class for the specified Socket with the specified Socket ownership.

NetworkStream(Socket, FileAccess)

Erstellt eine neue Instanz der NetworkStream-Klasse für den angegebenen Socket mit den angegebenen Zugriffsrechten.Creates a new instance of the NetworkStream class for the specified Socket with the specified access rights.

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.Creates a new instance of the NetworkStream class for the specified Socket with the specified access rights and the specified Socket ownership.

Eigenschaften

CanRead

Ruft einen Wert ab, der angibt, ob der NetworkStream Lesevorgänge unterstützt.Gets a value that indicates whether the NetworkStream supports reading.

CanSeek

Ruft einen Wert ab, der angibt, ob der Stream Suchvorgänge unterstützt.Gets a value that indicates whether the stream supports seeking. Diese Eigenschaft wird derzeit nicht unterstützt.This property is not currently supported. Diese Eigenschaft gibt immer false zurück.This property always returns false.

CanTimeout

Gibt an, ob Timeouteigenschaften für NetworkStream verwendet werden können.Indicates whether timeout properties are usable for NetworkStream.

CanTimeout

Ruft einen Wert ab, der bestimmt, ob für den aktuellen Stream ein Timeout möglich ist.Gets a value that determines whether the current stream can time out.

(Geerbt von Stream)
CanWrite

Ruft einen Wert ab, der angibt, ob der NetworkStream Schreibvorgänge unterstützt.Gets a value that indicates whether the NetworkStream supports writing.

DataAvailable

Ruft einen Wert ab, der angibt, ob im NetworkStream Daten für einen Lesevorgang verfügbar sind.Gets a value that indicates whether data is available on the NetworkStream to be read.

Length

Gibt die Länge der im Stream verfügbaren Daten an.Gets the length of the data available on the stream. Diese Eigenschaft wird gegenwärtig nicht unterstützt und löst immer eine NotSupportedException aus.This property is not currently supported and always throws a NotSupportedException.

Position

Ruft die aktuelle Position im Stream ab oder legt diese fest.Gets or sets the current position in the stream. Diese Eigenschaft wird gegenwärtig nicht unterstützt und löst immer eine NotSupportedException aus.This property is not currently supported and always throws a NotSupportedException.

Readable

Ruft einen Wert ab, der angibt, ob der NetworkStream gelesen werden kann, oder legt diesen fest.Gets or sets a value that indicates whether the NetworkStream can be read.

ReadTimeout

Ruft die Zeitspanne ab, in der ein Lesevorgang während des Wartens auf Daten blockiert wird, oder legt diese fest.Gets or sets the amount of time that a read operation blocks waiting for data.

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.Gets or sets a value, in milliseconds, that determines how long the stream will attempt to read before timing out.

(Geerbt von Stream)
Socket

Ruft die zugrunde liegende Socket ab.Gets the underlying Socket.

Writeable

Ruft einen Wert ab, der angibt, ob in den NetworkStream geschrieben werden kann.Gets a value that indicates whether the NetworkStream is writable.

WriteTimeout

Ruft die Zeitspanne ab, in der ein Schreibvorgang während des Wartens auf Daten blockiert wird, oder legt diese fest.Gets or sets the amount of time that a write operation blocks waiting for data.

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.Gets or sets a value, in milliseconds, that determines how long the stream will attempt to write before timing out.

(Geerbt von Stream)

Methoden

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

Beginnt einen asynchronen Lesevorgang aus dem NetworkStream.Begins an asynchronous read from the NetworkStream.

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

Startet einen asynchronen Lesevorgang.Begins an asynchronous read operation. (Verwenden Sie stattdessen ReadAsync(Byte[], Int32, Int32).)(Consider using ReadAsync(Byte[], Int32, Int32) instead.)

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

Beginnt einen asynchronen Schreibvorgang in einen Stream.Begins an asynchronous write to a stream.

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

Startet einen asynchronen Schreibvorgang.Begins an asynchronous write operation. (Verwenden Sie stattdessen WriteAsync(Byte[], Int32, Int32).)(Consider using WriteAsync(Byte[], Int32, Int32) instead.)

(Geerbt von Stream)
Close()

Schließt die NetworkStream-Klasse.Closes the NetworkStream.

Close()

Schließt den aktuellen Stream und gibt alle dem aktuellen Stream zugeordneten Ressourcen frei (z. B. Sockets und Dateihandles).Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. Anstatt diese Methode aufzurufen, stellen Sie sicher, dass der Stream ordnungsgemäß freigegeben wird.Instead of calling this method, ensure that the stream is properly disposed.

(Geerbt von Stream)
Close(Int32)

Schließt den NetworkStream nach der angegebenen Zeitspanne, in der Daten gesendet werden können.Closes the NetworkStream after waiting the specified time to allow data to be sent.

CopyTo(ReadOnlySpanAction<Byte,Object>, Object, Int32) (Geerbt von Stream)
CopyTo(Stream)

Liest alle Bytes aus dem aktuellen Stream und schreibt sie in einen anderen Datenstrom.Reads the bytes from the current stream and writes them to another stream.

(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.Reads the bytes from the current stream and writes them to another stream, using a specified buffer size.

(Geerbt von Stream)
CopyToAsync(Func<ReadOnlyMemory<Byte>,Object,CancellationToken,ValueTask>, Object, Int32, CancellationToken) (Geerbt von Stream)
CopyToAsync(Stream)

Liest die Bytes asynchron aus dem aktuellen Stream und schreibt sie in einen anderen Stream.Asynchronously reads the bytes from the current stream and writes them to another 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.Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified cancellation token.

(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.Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size.

(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.Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size and cancellation token.

(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.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Geerbt von MarshalByRefObject)
CreateWaitHandle()

Reserviert ein WaitHandle-Objekt.Allocates a WaitHandle object.

(Geerbt von Stream)
Dispose()

Gibt alle von Stream verwendeten Ressourcen frei.Releases all resources used by the Stream.

(Geerbt von Stream)
Dispose(Boolean)

Gibt die von NetworkStream verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.Releases the unmanaged resources used by the NetworkStream and optionally releases the managed resources.

DisposeAsync()

Gibt die nicht verwalteten Ressourcen, die von der Stream verwendet werden, asynchron frei.Asynchronously releases the unmanaged resources used by the Stream.

(Geerbt von Stream)
EndRead(IAsyncResult)

Behandelt das Ende eines asynchronen Lesevorgangs.Handles the end of an asynchronous read.

EndRead(IAsyncResult)

Wartet auf den Abschluss des ausstehenden asynchronen Lesevorgangs.Waits for the pending asynchronous read to complete. (Verwenden Sie stattdessen ReadAsync(Byte[], Int32, Int32).)(Consider using ReadAsync(Byte[], Int32, Int32) instead.)

(Geerbt von Stream)
EndWrite(IAsyncResult)

Behandelt das Ende eines asynchronen Schreibvorgangs.Handles the end of an asynchronous write.

EndWrite(IAsyncResult)

Beendet einen asynchronen Schreibvorgang.Ends an asynchronous write operation. (Verwenden Sie stattdessen WriteAsync(Byte[], Int32, Int32).)(Consider using WriteAsync(Byte[], Int32, Int32) instead.)

(Geerbt von Stream)
Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Geerbt von Object)
Finalize()

Gibt alle von NetworkStream verwendeten Ressourcen frei.Releases all resources used by the NetworkStream.

Flush()

Schreibt Daten aus dem Stream weg.Flushes data from the stream. Diese Methode ist für eine spätere Verwendung vorgesehen.This method is reserved for future use.

FlushAsync()

Löscht sämtliche Puffer für diesen Stream asynchron und veranlasst die Ausgabe aller gepufferten Daten an das zugrunde liegende Gerät.Asynchronously clears all buffers for this stream and causes any buffered data to be written to the underlying device.

(Geerbt von Stream)
FlushAsync(CancellationToken)

Leert Daten aus dem Stream als asynchroner Vorgang.Flushes data from the stream as an asynchronous operation.

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.Asynchronously clears all buffers for this stream, causes any buffered data to be written to the underlying device, and monitors cancellation requests.

(Geerbt von Stream)
GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Geerbt von Object)
GetLifetimeService()

Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinien für diese Instanz steuert.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Geerbt von MarshalByRefObject)
GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
InitializeLifetimeService()

Ruft ein Lebensdauerdienstobjekt zur Steuerung der Lebensdauerrichtlinie für diese Instanz ab.Obtains a lifetime service object to control the lifetime policy for this instance.

(Geerbt von MarshalByRefObject)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
MemberwiseClone(Boolean)

Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts.Creates a shallow copy of the current MarshalByRefObject object.

(Geerbt von MarshalByRefObject)
ObjectInvariant()

Bietet Unterstützung für einen Contract.Provides support for a Contract.

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

Liest Daten aus NetworkStream und speichert sie in einem Bytearray.Reads data from the NetworkStream and stores it to a byte array.

Read(Span<Byte>)

Liest Daten aus NetworkStream und speichert sie in eine Bytespanne im Speicher.Reads data from the NetworkStream and stores it to a span of bytes in memory.

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.When overridden in a derived class, reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.

(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.Asynchronously reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.

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

Liest Daten aus NetworkStream und speichert sie als asynchronen Vorgang in einen festgelegten Bereich eines Bytearrays.Reads data from the NetworkStream and stores it to a specified range of a byte array as an asynchronous operation.

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.Asynchronously reads a sequence of bytes from the current stream, advances the position within the stream by the number of bytes read, and monitors cancellation requests.

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

Liest Daten aus NetworkStream und speichert sie als asynchronen Vorgang in einem Bytespeicherbereich.Reads data from the NetworkStream and stores it in a byte memory range as an asynchronous operation.

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.Asynchronously reads a sequence of bytes from the current stream, advances the position within the stream by the number of bytes read, and monitors cancellation requests.

(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.Reads a byte from the NetworkStream and advances the position within the stream by one byte, or returns -1 if at the end of the stream.

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.Reads a byte from the stream and advances the position within the stream by one byte, or returns -1 if at the end of the stream.

(Geerbt von Stream)
Seek(Int64, SeekOrigin)

Legt die aktuelle Position des Streams auf den angegebenen Wert fest.Sets the current position of the stream to the given value. Diese Methode wird gegenwärtig nicht unterstützt und löst immer eine NotSupportedException aus.This method is not currently supported and always throws a NotSupportedException.

SetLength(Int64)

Legt die Länge des Streams fest.Sets the length of the stream. Diese Methode löst immer eine NotSupportedException aus.This method always throws a NotSupportedException.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

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

Schreibt Daten aus einem festgelegten Bereich eines Bytearrays in NetworkStream.Writes data to the NetworkStream from a specified range of a byte array.

Write(ReadOnlySpan<Byte>)

Schreibt Daten aus einer schreibgeschützten Bytespanne inNetworkStream.Writes data to the NetworkStream from a read-only byte span.

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.When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.

(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.Asynchronously writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.

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

Schreibt Daten aus dem angegebenen Bereich eines Bytearrays als asynchronen Vorgang in NetworkStream.Writes data to the NetworkStream from the specified range of a byte array as an asynchronous operation.

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.Asynchronously writes a sequence of bytes to the current stream, advances the current position within this stream by the number of bytes written, and monitors cancellation requests.

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

Schreibt Daten aus einem schreibgeschützten Bytespeicherbereich als asynchronen Vorgang in NetworkStream.Writes data to the NetworkStream from a read-only memory byte memory range as an asynchronous operation.

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.Asynchronously writes a sequence of bytes to the current stream, advances the current position within this stream by the number of bytes written, and monitors cancellation requests.

(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.Writes a byte to the current position in the NetworkStream and advances the position within the stream by one byte.

WriteByte(Byte)

Schreibt ein Byte an die aktuellen Position im Stream und erhöht die aktuelle Position im Stream um ein Byte.Writes a byte to the current position in the stream and advances the position within the stream by one byte.

(Geerbt von Stream)

Explizite Schnittstellenimplementierungen

IDisposable.Dispose()

Gibt alle von NetworkStream verwendeten Ressourcen frei.Releases all resources used by the NetworkStream.

IDisposable.Dispose()

Gibt alle von Stream verwendeten Ressourcen frei.Releases all resources used by the Stream.

(Geerbt von Stream)

Gilt für:

Siehe auch