NetworkStream Klasa

Definicja

Zapewnia źródłowy strumień danych dla dostępu do sieci.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
Dziedziczenie
NetworkStream
Dziedziczenie
Implementuje

Przykłady

Poniższy przykład kodu ilustruje sposób tworzenia NetworkStream z połączonego Stream Socket i wykonywania podstawowych operacji we/wy blokowania synchronicznego.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

Uwagi

NetworkStreamKlasa zawiera metody wysyłania i otrzymywania danych za pośrednictwem Stream gniazd w trybie blokowania.The NetworkStream class provides methods for sending and receiving data over Stream sockets in blocking mode. Aby uzyskać więcej informacji na temat blokowania i nieblokowania Socket s, zobacz Używanie asynchronicznego gniazda klienta.For more information about blocking versus nonblocking Sockets, see Using an Asynchronous Client Socket. Można użyć NetworkStream klasy zarówno synchronicznego, jak i asynchronicznego transferu danych.You can use the NetworkStream class for both synchronous and asynchronous data transfer. Aby uzyskać więcej informacji na temat komunikacji synchronicznej i asynchronicznej, zobacz Sockets.For more information about synchronous and asynchronous communication, see Sockets.

Aby utworzyć NetworkStream , należy podać połączenie Socket .To create a NetworkStream, you must provide a connected Socket. Możesz również określić, jakie FileAccess uprawnienie ma w danym NetworkStream Socket .You can also specify what FileAccess permission the NetworkStream has over the provided Socket. Domyślnie zamknięcie NetworkStream nie zamyka podanej Socket .By default, closing the NetworkStream does not close the provided Socket. Jeśli chcesz NetworkStream mieć uprawnienia do zamykania podanego Socket elementu, musisz określić true wartość ownsSocket parametru.If you want the NetworkStream to have permission to close the provided Socket, you must specify true for the value of the ownsSocket parameter.

Użyj Write metod i Read dla prostego blokowania operacji we/wy pojedynczego wątku synchronicznego.Use the Write and Read methods for simple single thread synchronous blocking I/O. Jeśli chcesz przetwarzać operacje we/wy przy użyciu oddzielnych wątków, rozważ użycie BeginWrite EndWrite metod i lub BeginRead EndRead metod komunikacji.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.

NetworkStreamProgram nie obsługuje losowego dostępu do strumienia danych sieciowych.The NetworkStream does not support random access to the network data stream. Wartość CanSeek właściwości, która wskazuje, czy strumień obsługuje wyszukiwanie, jest zawsze false ; odczytywanie Position właściwości, odczytywanie Length właściwości lub wywoływanie Seek metody spowoduje wygenerowanie elementu NotSupportedException .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.

Operacje odczytu i zapisu mogą być wykonywane jednocześnie w wystąpieniu NetworkStream klasy bez konieczności synchronizacji.Read and write operations can be performed simultaneously on an instance of the NetworkStream class without the need for synchronization. O ile istnieje jeden unikatowy wątek dla operacji zapisu i jeden unikatowy wątek dla operacji odczytu, nie będzie żadnych zakłóceń między wątkami odczytu i zapisu, a synchronizacja nie jest wymagana.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.

Konstruktory

NetworkStream(Socket)

Tworzy nowe wystąpienie NetworkStream klasy dla określonego elementu Socket .Creates a new instance of the NetworkStream class for the specified Socket.

NetworkStream(Socket, Boolean)

Inicjuje nowe wystąpienie NetworkStream klasy dla określonego Socket z określonym Socket własnością.Initializes a new instance of the NetworkStream class for the specified Socket with the specified Socket ownership.

NetworkStream(Socket, FileAccess)

Tworzy nowe wystąpienie NetworkStream klasy dla określonego Socket z określonymi prawami dostępu.Creates a new instance of the NetworkStream class for the specified Socket with the specified access rights.

NetworkStream(Socket, FileAccess, Boolean)

Tworzy nowe wystąpienie NetworkStream klasy dla określonego Socket z określonymi prawami dostępu i określonym Socket własnością.Creates a new instance of the NetworkStream class for the specified Socket with the specified access rights and the specified Socket ownership.

Właściwości

CanRead

Pobiera wartość wskazującą, czy NetworkStream obsługuje odczytywanie.Gets a value that indicates whether the NetworkStream supports reading.

CanSeek

Pobiera wartość wskazującą, czy strumień obsługuje wyszukiwanie.Gets a value that indicates whether the stream supports seeking. Ta właściwość nie jest obecnie obsługiwana.This property is not currently supported. Ta właściwość zawsze zwraca wartość false.This property always returns false.

CanTimeout

Wskazuje, czy właściwości limitu czasu są użyteczne dla NetworkStream .Indicates whether timeout properties are usable for NetworkStream.

CanTimeout

Pobiera wartość określającą, czy bieżący strumień może przekroczyć limit czasu.Gets a value that determines whether the current stream can time out.

(Odziedziczone po Stream)
CanWrite

Pobiera wartość wskazującą, czy NetworkStream obsługuje pisać.Gets a value that indicates whether the NetworkStream supports writing.

DataAvailable

Pobiera wartość wskazującą, czy dane są dostępne NetworkStream do odczytu.Gets a value that indicates whether data is available on the NetworkStream to be read.

Length

Pobiera długość danych dostępnych w strumieniu.Gets the length of the data available on the stream. Ta właściwość nie jest obecnie obsługiwana i zawsze zgłasza NotSupportedException .This property is not currently supported and always throws a NotSupportedException.

Position

Pobiera lub ustawia bieżącą pozycję w strumieniu.Gets or sets the current position in the stream. Ta właściwość nie jest obecnie obsługiwana i zawsze zgłasza NotSupportedException .This property is not currently supported and always throws a NotSupportedException.

Readable

Pobiera lub ustawia wartość wskazującą, czy NetworkStream można odczytać.Gets or sets a value that indicates whether the NetworkStream can be read.

ReadTimeout

Pobiera lub ustawia ilość czasu, przez który bloki operacji odczytu oczekują na dane.Gets or sets the amount of time that a read operation blocks waiting for data.

ReadTimeout

Pobiera lub ustawia wartość (w milisekundach), która określa, jak długo strumień będzie próbować odczytać przed upływem limitu czasu.Gets or sets a value, in milliseconds, that determines how long the stream will attempt to read before timing out.

(Odziedziczone po Stream)
Socket

Pobiera bazowe Socket .Gets the underlying Socket.

Writeable

Pobiera wartość wskazującą, czy jest możliwy do NetworkStream zapisu.Gets a value that indicates whether the NetworkStream is writable.

WriteTimeout

Pobiera lub ustawia ilość czasu, przez który blok operacji zapisu oczekuje na dane.Gets or sets the amount of time that a write operation blocks waiting for data.

WriteTimeout

Pobiera lub ustawia wartość (w milisekundach), która określa, jak długo strumień podejmie próbę zapisu przed upływem limitu czasu.Gets or sets a value, in milliseconds, that determines how long the stream will attempt to write before timing out.

(Odziedziczone po Stream)

Metody

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

Rozpoczyna odczyt asynchroniczny z NetworkStream .Begins an asynchronous read from the NetworkStream.

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

Rozpoczęcie asynchronicznej operacji odczytu.Begins an asynchronous read operation. (Rozważ użycie ReadAsync(Byte[], Int32, Int32) zamiast niego).(Consider using ReadAsync(Byte[], Int32, Int32) instead.)

(Odziedziczone po Stream)
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

Rozpoczyna asynchroniczny zapis do strumienia.Begins an asynchronous write to a stream.

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

Rozpoczyna asynchroniczne operacje zapisu.Begins an asynchronous write operation. (Rozważ użycie WriteAsync(Byte[], Int32, Int32) zamiast niego).(Consider using WriteAsync(Byte[], Int32, Int32) instead.)

(Odziedziczone po Stream)
Close()

Zamyka NetworkStream .Closes the NetworkStream.

Close()

Zamyka bieżący strumień i zwalnia wszystkie zasoby (takie jak gniazda i uchwyty plików) skojarzone z bieżącym strumieniem.Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream. Zamiast wywołania tej metody upewnij się, że strumień jest prawidłowo usunięty.Instead of calling this method, ensure that the stream is properly disposed.

(Odziedziczone po Stream)
Close(Int32)

Zamyka NetworkStream po odczekaniu określonego czasu, aby zezwolić na wysyłanie danych.Closes the NetworkStream after waiting the specified time to allow data to be sent.

CopyTo(Stream)

Odczytuje bajty z bieżącego strumienia i zapisuje je w innym strumieniu.Reads the bytes from the current stream and writes them to another stream.

(Odziedziczone po Stream)
CopyTo(Stream, Int32)

Odczytuje bajty z bieżącego strumienia i zapisuje je w innym strumieniu przy użyciu określonego rozmiaru buforu.Reads the bytes from the current stream and writes them to another stream, using a specified buffer size.

(Odziedziczone po Stream)
CopyToAsync(Stream)

Asynchronicznie odczytuje bajty z bieżącego strumienia i zapisuje je w innym strumieniu.Asynchronously reads the bytes from the current stream and writes them to another stream.

(Odziedziczone po Stream)
CopyToAsync(Stream, CancellationToken)

Asynchronicznie odczytuje bajty z bieżącego strumienia i zapisuje je w innym strumieniu przy użyciu określonego tokenu anulowania.Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified cancellation token.

(Odziedziczone po Stream)
CopyToAsync(Stream, Int32)

Asynchronicznie odczytuje bajty z bieżącego strumienia i zapisuje je w innym strumieniu przy użyciu określonego rozmiaru buforu.Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size.

(Odziedziczone po Stream)
CopyToAsync(Stream, Int32, CancellationToken)

Asynchronicznie odczytuje bajty z bieżącego strumienia i zapisuje je w innym strumieniu przy użyciu określonego rozmiaru buforu i tokenu anulowania.Asynchronously reads the bytes from the current stream and writes them to another stream, using a specified buffer size and cancellation token.

(Odziedziczone po Stream)
CreateObjRef(Type)

Tworzy obiekt, który zawiera wszystkie istotne informacje wymagane do wygenerowania serwera proxy używanego do komunikacji z obiektem zdalnym.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Odziedziczone po MarshalByRefObject)
CreateWaitHandle()
Nieaktualne.

Przydziela WaitHandle obiekt.Allocates a WaitHandle object.

(Odziedziczone po Stream)
Dispose()

Zwalnia wszelkie zasoby używane przez element Stream.Releases all resources used by the Stream.

(Odziedziczone po Stream)
Dispose(Boolean)

Zwalnia zasoby niezarządzane używane przez element NetworkStream i opcjonalnie zwalnia zasoby zarządzane.Releases the unmanaged resources used by the NetworkStream and optionally releases the managed resources.

DisposeAsync()

Asynchronicznie zwalnia niezarządzane zasoby używane przez Stream .Asynchronously releases the unmanaged resources used by the Stream.

(Odziedziczone po Stream)
EndRead(IAsyncResult)

Obsługuje koniec odczytu asynchronicznego.Handles the end of an asynchronous read.

EndRead(IAsyncResult)

Czeka na zakończenie oczekujących asynchronicznych operacji odczytu.Waits for the pending asynchronous read to complete. (Rozważ użycie ReadAsync(Byte[], Int32, Int32) zamiast niego).(Consider using ReadAsync(Byte[], Int32, Int32) instead.)

(Odziedziczone po Stream)
EndWrite(IAsyncResult)

Obsługuje koniec zapisu asynchronicznego.Handles the end of an asynchronous write.

EndWrite(IAsyncResult)

Zamyka asynchroniczne operacje zapisu.Ends an asynchronous write operation. (Rozważ użycie WriteAsync(Byte[], Int32, Int32) zamiast niego).(Consider using WriteAsync(Byte[], Int32, Int32) instead.)

(Odziedziczone po Stream)
Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
Finalize()

Zwalnia wszelkie zasoby używane przez element NetworkStream.Releases all resources used by the NetworkStream.

Flush()

Opróżnia dane ze strumienia.Flushes data from the stream. Ta metoda jest zarezerwowana do użytku w przyszłości.This method is reserved for future use.

FlushAsync()

Asynchronicznie czyści wszystkie bufory dla tego strumienia i powoduje, że wszystkie buforowane dane są zapisywane na podstawowym urządzeniu.Asynchronously clears all buffers for this stream and causes any buffered data to be written to the underlying device.

(Odziedziczone po Stream)
FlushAsync(CancellationToken)

Opróżnia dane ze strumienia jako operację asynchroniczną.Flushes data from the stream as an asynchronous operation.

FlushAsync(CancellationToken)

Asynchronicznie czyści wszystkie bufory dla tego strumienia, powoduje, że wszystkie buforowane dane są zapisywane na podstawowym urządzeniu i monitoruje żądania anulowania.Asynchronously clears all buffers for this stream, causes any buffered data to be written to the underlying device, and monitors cancellation requests.

(Odziedziczone po Stream)
GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetLifetimeService()
Nieaktualne.

Pobiera bieżący obiekt usługi okresu istnienia, który kontroluje zasady okresu istnienia dla tego wystąpienia.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Odziedziczone po MarshalByRefObject)
GetType()

Pobiera Type bieżące wystąpienie.Gets the Type of the current instance.

(Odziedziczone po Object)
InitializeLifetimeService()
Nieaktualne.

Uzyskuje obiekt usługi istnienia w celu kontrolowania zasad okresu istnienia dla tego wystąpienia.Obtains a lifetime service object to control the lifetime policy for this instance.

(Odziedziczone po MarshalByRefObject)
MemberwiseClone()

Tworzy skróconą kopię bieżącego elementu Object .Creates a shallow copy of the current Object.

(Odziedziczone po Object)
MemberwiseClone(Boolean)

Tworzy skróconą kopię bieżącego MarshalByRefObject obiektu.Creates a shallow copy of the current MarshalByRefObject object.

(Odziedziczone po MarshalByRefObject)
ObjectInvariant()
Nieaktualne.

Zapewnia pomoc techniczną dla programu Contract .Provides support for a Contract.

(Odziedziczone po Stream)
Read(Byte[], Int32, Int32)

Odczytuje dane z NetworkStream i zapisuje je w tablicy bajtów.Reads data from the NetworkStream and stores it to a byte array.

Read(Span<Byte>)

Odczytuje dane z NetworkStream i zapisuje je do zakresu bajtów w pamięci.Reads data from the NetworkStream and stores it to a span of bytes in memory.

Read(Span<Byte>)

Gdy jest zastępowany w klasie pochodnej, odczytuje sekwencję bajtów z bieżącego strumienia i przesuwa pozycję w strumieniu o liczbę odczytanych bajtów.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.

(Odziedziczone po Stream)
ReadAsync(Byte[], Int32, Int32)

Asynchronicznie odczytuje sekwencję bajtów z bieżącego strumienia i przesuwa pozycję w strumieniu o liczbę odczytanych bajtów.Asynchronously reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read.

(Odziedziczone po Stream)
ReadAsync(Byte[], Int32, Int32, CancellationToken)

Odczytuje dane z NetworkStream i zapisuje je do określonego zakresu tablicy bajtów jako operacji asynchronicznej.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)

Asynchronicznie odczytuje sekwencję bajtów z bieżącego strumienia, przesuwa pozycję w strumieniu o liczbę odczytanych bajtów i monitoruje żądania anulowania.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.

(Odziedziczone po Stream)
ReadAsync(Memory<Byte>, CancellationToken)

Odczytuje dane z NetworkStream i zapisuje je w zakresie pamięci bajtowej jako operacja asynchroniczna.Reads data from the NetworkStream and stores it in a byte memory range as an asynchronous operation.

ReadAsync(Memory<Byte>, CancellationToken)

Asynchronicznie odczytuje sekwencję bajtów z bieżącego strumienia, przesuwa pozycję w strumieniu o liczbę odczytanych bajtów i monitoruje żądania anulowania.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.

(Odziedziczone po Stream)
ReadByte()

Odczytuje bajt z NetworkStream i przesuwa pozycję w strumieniu o jeden bajt lub zwraca-1, jeśli na końcu strumienia.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()

Odczytuje bajt ze strumienia i przesuwa pozycję w strumieniu o jeden bajt lub zwraca wartość-1, jeśli na końcu strumienia.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.

(Odziedziczone po Stream)
Seek(Int64, SeekOrigin)

Ustawia bieżącą pozycję strumienia na daną wartość.Sets the current position of the stream to the given value. Ta metoda nie jest obecnie obsługiwana i zawsze zgłasza NotSupportedException .This method is not currently supported and always throws a NotSupportedException.

SetLength(Int64)

Ustawia długość strumienia.Sets the length of the stream. Ta metoda zawsze zgłasza NotSupportedException .This method always throws a NotSupportedException.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)
Write(Byte[], Int32, Int32)

Zapisuje dane na NetworkStream podstawie określonego zakresu tablicy bajtów.Writes data to the NetworkStream from a specified range of a byte array.

Write(ReadOnlySpan<Byte>)

Zapisuje dane w zakresie NetworkStream z zakresu bajtów tylko do odczytu.Writes data to the NetworkStream from a read-only byte span.

Write(ReadOnlySpan<Byte>)

Gdy jest zastępowany w klasie pochodnej, zapisuje sekwencję bajtów do bieżącego strumienia i zwiększa bieżącą pozycję w tym strumieniu o liczbę zapisanych bajtów.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.

(Odziedziczone po Stream)
WriteAsync(Byte[], Int32, Int32)

Asynchronicznie zapisuje sekwencję bajtów do bieżącego strumienia i przesuwa bieżącą pozycję w tym strumieniu o liczbę zapisanych bajtów.Asynchronously writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written.

(Odziedziczone po Stream)
WriteAsync(Byte[], Int32, Int32, CancellationToken)

Zapisuje dane na NetworkStream podstawie określonego zakresu tablicy bajtów jako operacji asynchronicznej.Writes data to the NetworkStream from the specified range of a byte array as an asynchronous operation.

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

Asynchronicznie zapisuje sekwencję bajtów do bieżącego strumienia, przesuwa bieżącą pozycję w tym strumieniu o liczbę zapisanych bajtów i monitoruje żądania anulowania.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.

(Odziedziczone po Stream)
WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Zapisuje dane w NetworkStream zakresie pamięci bajtowej tylko do odczytu w ramach operacji asynchronicznej.Writes data to the NetworkStream from a read-only memory byte memory range as an asynchronous operation.

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Asynchronicznie zapisuje sekwencję bajtów do bieżącego strumienia, przesuwa bieżącą pozycję w tym strumieniu o liczbę zapisanych bajtów i monitoruje żądania anulowania.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.

(Odziedziczone po Stream)
WriteByte(Byte)

Zapisuje bajty w bieżącym położeniu w NetworkStream i przesuwa pozycję w strumieniu o jeden bajt.Writes a byte to the current position in the NetworkStream and advances the position within the stream by one byte.

WriteByte(Byte)

Zapisuje bajty w bieżącym położeniu w strumieniu i przesuwa pozycję w strumieniu o jeden bajt.Writes a byte to the current position in the stream and advances the position within the stream by one byte.

(Odziedziczone po Stream)

Jawne implementacje interfejsu

IDisposable.Dispose()

Ten interfejs API obsługuje infrastrukturę produktu i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu.

Zwalnia wszelkie zasoby używane przez element NetworkStream.Releases all resources used by the NetworkStream.

IDisposable.Dispose()

Zwalnia wszelkie zasoby używane przez element Stream.Releases all resources used by the Stream.

(Odziedziczone po Stream)

Metody rozszerzania

ConfigureAwait(IAsyncDisposable, Boolean)

Określa, jak oczekują oczekiwania na zadania zwracane z asynchronicznej operacji tworzenia.Configures how awaits on the tasks returned from an async disposable are performed.

Dotyczy

Zobacz też