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
Public Class NetworkStream
Inherits Stream
Dziedziczenie

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

Klasa zawiera metody wysyłania i otrzymywania danych za pośrednictwem Stream gniazd w trybie blokowania. NetworkStreamThe 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 Sockets, 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ć, FileAccess NetworkStream jakie uprawnienie ma Socketw danym.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 Socketelementu ownsSocket , musisz określić true wartość 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 metod Read i dla prostego blokowania operacji we/wy pojedynczego wątku synchronicznego. WriteUse 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 EndRead metod EndWrite i lub BeginRead 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.

Program NetworkStream 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 Seek , odczytywanie Length właściwości lub wywoływanie metody spowoduje zgłoszenie 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 Socketelementu.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. Ta właściwość zawsze zwraca falsewartość.This property is not currently supported.This property always returns false.

CanTimeout

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

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.

Socket

Pobiera bazowe Socket.Gets the underlying Socket.

Writeable

Pobiera wartość wskazującą, czy jest możliwy NetworkStream do 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.

Metody

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

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

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

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

Close()

NetworkStreamZamyka.Closes the NetworkStream.

Close(Int32)

NetworkStream Zamyka 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()

WaitHandle Przydziela obiekt.Allocates a WaitHandle object.

(Odziedziczone po Stream)
Dispose()

Zwalnia wszystkie zasoby używane przez Streamprogram.Releases all resources used by the Stream.

(Odziedziczone po Stream)
Dispose(Boolean)

Zwalnia niezarządzane zasoby używane przez NetworkStream program i opcjonalnie zwalnia zarządzane zasoby.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.

EndWrite(IAsyncResult)

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

Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
Finalize()

Zwalnia wszystkie zasoby używane przez NetworkStreamprogram.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.

GetHashCode()

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

(Odziedziczone po Object)
GetLifetimeService()

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

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

(Odziedziczone po Object)
InitializeLifetimeService()

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

Zapewnia pomoc techniczną Contractdla programu.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.

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

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.

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, który reprezentuje 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 NetworkStream w zakresie z zakresu bajtów tylko do odczytu.Writes data to the NetworkStream from a read-only byte span.

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

Zapisuje dane NetworkStream w 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.

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.

Jawne implementacje interfejsu

IDisposable.Dispose()

Zwalnia wszystkie zasoby używane przez NetworkStreamprogram.Releases all resources used by the NetworkStream.

Dotyczy

Zobacz też