NetworkStream Klasa

Definicja

Udostępnia podstawowy strumień danych na potrzeby dostępu do sieci.

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

W poniższym przykładzie kodu pokazano, jak utworzyć element NetworkStream na podstawie połączonego i StreamSocket wykonać podstawowe synchroniczne blokowanie operacji we/wy.

// 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 NetworkStream udostępnia metody wysyłania i odbierania danych przez Stream gniazda w trybie blokowania. Aby uzyskać więcej informacji na temat blokowania i odblokowywania Socket, zobacz Using an Asynchronous Client Socket (Używanie asynchronicznego gniazda klienta). Można użyć NetworkStream klasy zarówno do synchronicznego, jak i asynchronicznego transferu danych. Aby uzyskać więcej informacji na temat komunikacji synchronicznej i asynchronicznej, zobacz Gniazda.

Aby utworzyć element NetworkStream, należy podać połączony element Socket. Możesz również określić, jakie FileAccess uprawnienie NetworkStream ma nad podanym Socketelementem . Domyślnie zamknięcie elementu NetworkStream nie zamyka podanego Socketelementu . Jeśli chcesz NetworkStream mieć uprawnienie do zamknięcia podanego Socketparametru , musisz określić true wartość parametru ownsSocket .

Użyj metod Write i Read dla prostego synchronicznego blokowania operacji we/wy pojedynczego wątku. Jeśli chcesz przetworzyć we/wy przy użyciu oddzielnych wątków, rozważ użycie BeginWrite metod i lub BeginRead metod i EndWrite EndRead do komunikacji.

Element NetworkStream nie obsługuje losowego dostępu do strumienia danych sieciowych. Wartość CanSeek właściwości, która wskazuje, czy strumień obsługuje wyszukiwanie, jest zawsze false; odczytywanie właściwości, odczytywanie Position Length właściwości lub wywoływanie Seek metody spowoduje zwrócenie NotSupportedExceptionwartości .

Operacje odczytu i zapisu można wykonywać jednocześnie na wystąpieniu NetworkStream klasy bez konieczności synchronizacji. Tak długo, jak istnieje jeden unikatowy wątek dla operacji zapisu i jeden unikatowy wątek dla operacji odczytu, nie będzie żadnych krzyżowych interferencji między wątkami odczytu i zapisu, a synchronizacja nie jest wymagana.

Konstruktory

NetworkStream(Socket)

Tworzy nowe wystąpienie NetworkStream klasy dla określonego Socketelementu .

NetworkStream(Socket, Boolean)

Inicjuje NetworkStream nowe wystąpienie klasy określonej Socket z określoną Socket własnością.

NetworkStream(Socket, FileAccess)

Tworzy nowe wystąpienie NetworkStream klasy dla określonej Socket z określonymi prawami dostępu.

NetworkStream(Socket, FileAccess, Boolean)

Tworzy nowe wystąpienie NetworkStream klasy dla określonej Socket z określonymi prawami dostępu i określoną Socket własnością.

Właściwości

CanRead

Pobiera wartość wskazującą, czy NetworkStream obsługuje odczyt.

CanSeek

Pobiera wartość wskazującą, czy strumień obsługuje wyszukiwanie. Ta właściwość nie jest obecnie obsługiwana. Ta właściwość zawsze zwraca wartość false.

CanTimeout

Wskazuje, czy właściwości przekroczenia limitu czasu są przydatne dla NetworkStreamelementu .

CanTimeout

Pobiera wartość określającą, czy bieżący strumień może upłynął limit czasu.

(Odziedziczone po Stream)
CanWrite

Pobiera wartość wskazującą, czy NetworkStream obsługuje zapisywanie.

DataAvailable

Pobiera wartość wskazującą, czy dane są dostępne do NetworkStream odczytu.

Length

Pobiera długość danych dostępnych w strumieniu. Ta właściwość nie jest obecnie obsługiwana i zawsze zgłasza obiekt NotSupportedException.

Position

Pobiera lub ustawia bieżącą pozycję w strumieniu. Ta właściwość nie jest obecnie obsługiwana i zawsze zgłasza obiekt NotSupportedException.

Readable

Pobiera lub ustawia wartość wskazującą, czy NetworkStream można je odczytać.

ReadTimeout

Pobiera lub ustawia czas, przez który operacja odczytu blokuje oczekiwanie na dane.

ReadTimeout

Pobiera lub ustawia wartość w milisekundach, która określa, jak długo strumień będzie próbował odczytać przed przekroczeniem limitu czasu.

(Odziedziczone po Stream)
Socket

Pobiera bazowy Socketelement .

Writeable

Pobiera wartość wskazującą, czy NetworkStream jest zapisywalny.

WriteTimeout

Pobiera lub ustawia ilość czasu, przez który operacja zapisu blokuje oczekiwanie na dane.

WriteTimeout

Pobiera lub ustawia wartość w milisekundach, która określa, jak długo strumień będzie próbował zapisać przed przekroczeniem limitu czasu.

(Odziedziczone po Stream)

Metody

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

Rozpoczyna asynchroniczny odczyt z pliku NetworkStream.

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

Rozpoczyna asynchroniczną operację odczytu. (Rozważ użycie ReadAsync(Byte[], Int32, Int32) zamiast tego).

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

Rozpoczyna asynchroniczne zapisywanie w strumieniu.

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

Rozpoczyna asynchroniczną operację zapisu. (Rozważ użycie WriteAsync(Byte[], Int32, Int32) zamiast tego).

(Odziedziczone po Stream)
Close()

Zamyka element NetworkStream.

Close()

Zamyka bieżący strumień i zwalnia wszystkie zasoby (takie jak gniazda i dojścia plików) skojarzone z bieżącym strumieniem. Zamiast wywoływać tę metodę, upewnij się, że strumień jest prawidłowo usuwany.

(Odziedziczone po Stream)
Close(Int32)

Zamyka obiekt NetworkStream po upływie określonego czasu, aby zezwolić na wysyłanie danych.

Close(TimeSpan)
CopyTo(Stream)

Odczytuje bajty z bieżącego strumienia i zapisuje je w innym strumieniu. Oba pozycje strumieni są zaawansowane przez liczbę skopiowanych bajtów.

(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. Oba pozycje strumieni są zaawansowane przez liczbę skopiowanych bajtów.

(Odziedziczone po Stream)
CopyToAsync(Stream)

Asynchronicznie odczytuje bajty z bieżącego strumienia i zapisuje je w innym strumieniu. Oba pozycje strumieni są zaawansowane przez liczbę skopiowanych bajtów.

(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. Obie pozycje strumieni są zaawansowane przez liczbę skopiowanych bajtów.

(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. Obie pozycje strumieni są zaawansowane przez liczbę skopiowanych bajtów.

(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. Obie pozycje strumieni są zaawansowane przez liczbę skopiowanych bajtów.

(Odziedziczone po Stream)
CreateObjRef(Type)

Tworzy obiekt zawierający wszystkie istotne informacje wymagane do wygenerowania serwera proxy używanego do komunikowania się z obiektem zdalnym.

(Odziedziczone po MarshalByRefObject)
CreateWaitHandle()
Nieaktualne.
Nieaktualne.
Nieaktualne.

WaitHandle Przydziela obiekt.

(Odziedziczone po Stream)
Dispose()

Zwalnia wszelkie zasoby używane przez element Stream.

(Odziedziczone po Stream)
Dispose(Boolean)

Zwalnia zasoby niezarządzane używane przez element NetworkStream i opcjonalnie zwalnia zasoby zarządzane.

DisposeAsync()

Asynchronicznie zwalnia niezarządzane zasoby używane przez Streamprogram .

(Odziedziczone po Stream)
EndRead(IAsyncResult)

Obsługuje koniec odczytu asynchronicznego.

EndRead(IAsyncResult)

Czeka na ukończenie oczekującego odczytu asynchronicznego. (Rozważ użycie ReadAsync(Byte[], Int32, Int32) zamiast tego).

(Odziedziczone po Stream)
EndWrite(IAsyncResult)

Obsługuje koniec asynchronicznego zapisu.

EndWrite(IAsyncResult)

Kończy asynchroniczną operację zapisu. (Rozważ użycie WriteAsync(Byte[], Int32, Int32) zamiast tego).

(Odziedziczone po Stream)
Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
Finalize()

Zwalnia wszelkie zasoby używane przez element NetworkStream.

Flush()

Opróżnia dane ze strumienia. Ta metoda jest zarezerwowana do użycia w przyszłości.

FlushAsync()

Asynchronicznie czyści wszystkie bufory dla tego strumienia i powoduje zapisanie wszystkich buforowanych danych na urządzeniu bazowym.

(Odziedziczone po Stream)
FlushAsync(CancellationToken)

Opróżnia dane ze strumienia jako operację asynchroniczną.

FlushAsync(CancellationToken)

Asynchronicznie czyści wszystkie bufory dla tego strumienia, powoduje zapisanie wszystkich buforowanych danych na urządzeniu źródłowym i monitorowanie żądań anulowania.

(Odziedziczone po Stream)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetLifetimeService()
Nieaktualne.

Pobiera bieżący obiekt usługi okresu istnienia, który kontroluje zasady okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
InitializeLifetimeService()
Nieaktualne.

Uzyskuje obiekt usługi okresu istnienia w celu kontrolowania zasad okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
MemberwiseClone(Boolean)

Tworzy płytkią kopię bieżącego MarshalByRefObject obiektu.

(Odziedziczone po MarshalByRefObject)
ObjectInvariant()
Nieaktualne.

Zapewnia obsługę programu Contract.

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

Odczytuje dane z obiektu NetworkStream i zapisuje je w tablicy bajtów.

Read(Span<Byte>)

Odczytuje dane z obiektu NetworkStream i zapisuje je w zakresie bajtów w pamięci.

Read(Span<Byte>)

Po zastąpieniu w klasie pochodnej odczytuje sekwencję bajtów z bieżącego strumienia i rozwija pozycję w strumieniu według liczby odczytanych bajtów.

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

Asynchronicznie odczytuje sekwencję bajtów z bieżącego strumienia i rozwija pozycję w strumieniu według liczby odczytanych bajtów.

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

Odczytuje dane z obiektu NetworkStream i zapisuje je w określonym zakresie tablicy bajtów jako operację asynchroniczną.

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

Asynchronicznie odczytuje sekwencję bajtów z bieżącego strumienia, rozwija pozycję w strumieniu według liczby odczytanych bajtów i monitoruje żądania anulowania.

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

Odczytuje dane z obiektu NetworkStream i przechowuje je w zakresie pamięci bajtów jako operację asynchroniczną.

ReadAsync(Memory<Byte>, CancellationToken)

Asynchronicznie odczytuje sekwencję bajtów z bieżącego strumienia, rozwija pozycję w strumieniu według liczby odczytanych bajtów i monitoruje żądania anulowania.

(Odziedziczone po Stream)
ReadAtLeast(Span<Byte>, Int32, Boolean)

Odczytuje co najmniej minimalną liczbę bajtów z bieżącego strumienia i rozwija pozycję w strumieniu według liczby odczytanych bajtów.

(Odziedziczone po Stream)
ReadAtLeastAsync(Memory<Byte>, Int32, Boolean, CancellationToken)

Asynchronicznie odczytuje co najmniej minimalną liczbę bajtów z bieżącego strumienia, zwiększa pozycję w strumieniu według liczby odczytanych bajtów i monitoruje żądania anulowania.

(Odziedziczone po Stream)
ReadByte()

Odczytuje bajt z i NetworkStream zwiększa pozycję w strumieniu według jednego bajtu lub zwraca wartość -1, jeśli na końcu strumienia.

ReadByte()

Odczytuje bajt ze strumienia i przesuwa pozycję w strumieniu o jeden bajt lub zwraca wartość -1, jeśli na końcu strumienia.

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

Odczytuje count liczbę bajtów z bieżącego strumienia i przesuwa pozycję w strumieniu.

(Odziedziczone po Stream)
ReadExactly(Span<Byte>)

Odczytuje bajty z bieżącego strumienia i przesuwa pozycję w strumieniu do buffer momentu wypełnienia.

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

Asynchronicznie odczytuje count liczbę bajtów z bieżącego strumienia, zwiększa pozycję w strumieniu i monitoruje żądania anulowania.

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

Asynchronicznie odczytuje bajty z bieżącego strumienia, przesuwa pozycję w strumieniu do buffer momentu wypełnienia i monitoruje żądania anulowania.

(Odziedziczone po Stream)
Seek(Int64, SeekOrigin)

Ustawia bieżącą pozycję strumienia na daną wartość. Ta metoda nie jest obecnie obsługiwana i zawsze zgłasza błąd NotSupportedException.

SetLength(Int64)

Ustawia długość strumienia. Ta metoda zawsze zgłasza błąd NotSupportedException.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

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

Zapisuje dane w NetworkStream obiekcie z określonego zakresu tablicy bajtów.

Write(ReadOnlySpan<Byte>)

Zapisuje dane z NetworkStream zakresu bajtów tylko do odczytu.

Write(ReadOnlySpan<Byte>)

Po zastąpieniu w klasie pochodnej zapisuje sekwencję bajtów do bieżącego strumienia i przechodzi bieżącą pozycję w tym strumieniu przez liczbę zapisanych bajtów.

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

Asynchronicznie zapisuje sekwencję bajtów do bieżącego strumienia i przechodzi bieżącą pozycję w tym strumieniu przez liczbę zapisanych bajtów.

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

Zapisuje dane z NetworkStream określonego zakresu tablicy bajtów jako operację asynchroniczną.

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

Asynchronicznie zapisuje sekwencję bajtów do bieżącego strumienia, przechodzi bieżącą pozycję w tym strumieniu przez liczbę zapisanych bajtów i monitoruje żądania anulowania.

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

Zapisuje dane z NetworkStream zakresu pamięci bajtów tylko do odczytu jako operację asynchroniczną.

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Asynchronicznie zapisuje sekwencję bajtów do bieżącego strumienia, przechodzi bieżącą pozycję w tym strumieniu przez liczbę zapisanych bajtów i monitoruje żądania anulowania.

(Odziedziczone po Stream)
WriteByte(Byte)

Zapisuje bajt do bieżącej pozycji w NetworkStream obiekcie i przesuwa pozycję w strumieniu o jeden bajt.

WriteByte(Byte)

Zapisuje bajt do bieżącej pozycji w strumieniu i przesuwa pozycję w strumieniu o jeden bajt.

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

Metody rozszerzania

ConfigureAwait(IAsyncDisposable, Boolean)

Konfiguruje sposób oczekiwania na zadania zwracane z jednorazowego użytku asynchronicznego.

Dotyczy

Zobacz też