Udostępnij za pośrednictwem


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

Uwagi

Klasa NetworkStream udostępnia metody wysyłania i odbierania danych za pośrednictwem gniazd Stream w trybie blokowania. Aby uzyskać więcej informacji na temat blokowania i nieblokowania Sockets, zobacz Using an Asynchronous Client Socket. Można użyć klasy NetworkStream zarówno do synchronicznego, jak i asynchronicznego transferu danych. Aby uzyskać więcej informacji na temat komunikacji synchronicznej i asynchronicznej, zobacz Sockets.

Aby utworzyć NetworkStream, należy podać połączony Socket. Możesz również określić uprawnienia FileAccess, które NetworkStream ma w ramach podanego Socket. Domyślnie zamknięcie NetworkStream nie zamyka podanego Socket. Jeśli chcesz, aby NetworkStream miał uprawnienia do zamknięcia podanego Socket, należy określić true dla wartości parametru ownsSocket.

Użyj metod Write i Read dla prostych synchronicznych synchronicznych operacji we/wy z jednym wątkiem. Jeśli chcesz przetworzyć operację we/wy asynchronicznie, rozważ użycie metod opartych na Task lub ValueTaskReadAsync i WriteAsync.

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

Operacje odczytu i zapisu można wykonywać jednocześnie na wystąpieniu klasy NetworkStream 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 zakłóceń między wątkami odczytu i zapisu, a synchronizacja nie jest wymagana.

Konstruktory

NetworkStream(Socket)

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

NetworkStream(Socket, Boolean)

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

NetworkStream(Socket, FileAccess)

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

NetworkStream(Socket, FileAccess, Boolean)

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

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

CanTimeout

Wskazuje, czy właściwości limitu czasu mogą być używane dla NetworkStream.

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

DataAvailable

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

Length

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

Position

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

Readable

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

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 upływem limitu czasu.

(Odziedziczone po Stream)
Socket

Pobiera podstawowy Socket.

Writeable

Pobiera wartość wskazującą, czy NetworkStream można zapisywać.

WriteTimeout

Pobiera lub ustawia czas, 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 upływem limitu czasu.

(Odziedziczone po Stream)

Metody

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

Rozpoczyna asynchroniczny odczyt z NetworkStream.

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

Rozpoczyna operację odczytu asynchronicznego. (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 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 NetworkStream po odczekaniu określonego czasu, aby zezwolić na wysyłanie danych.

Close(TimeSpan)

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

CopyTo(Stream)

Odczytuje bajty z bieżącego strumienia i zapisuje je w innym strumieniu. Obie 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. Obie 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. Obie 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()
Przestarzałe.
Przestarzałe.
Przestarzałe.

Przydziela obiekt WaitHandle.

(Odziedziczone po Stream)
Dispose()

Zwalnia wszystkie zasoby używane przez Stream.

(Odziedziczone po Stream)
Dispose(Boolean)

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

DisposeAsync()

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

(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 określony obiekt jest równy bieżącemu obiektowi.

(Odziedziczone po Object)
Finalize()

Zwalnia wszystkie zasoby używane przez NetworkStream.

Flush()

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

FlushAsync()

Asynchronicznie czyści wszystkie 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 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()
Przestarzałe.

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

(Odziedziczone po MarshalByRefObject)
GetType()

Pobiera Type bieżącego wystąpienia.

(Odziedziczone po Object)
InitializeLifetimeService()
Przestarzałe.

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

(Odziedziczone po Object)
MemberwiseClone(Boolean)

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

(Odziedziczone po MarshalByRefObject)
ObjectInvariant()
Przestarzałe.

Zapewnia obsługę Contract.

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

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

Read(Span<Byte>)

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

Read(Span<Byte>)

Gdy przesłonięta w klasie pochodnej, odczytuje sekwencję bajtów z bieżącego strumienia i przechodzi 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 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 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 przez liczbę odczytanych bajtów i monitoruje żądania anulowania.

(Odziedziczone po Stream)
ReadByte()

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

ReadByte()

Odczytuje bajt ze strumienia i rozwija pozycję w strumieniu według jednego bajtu lub zwraca -1, jeśli na końcu strumienia.

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

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

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

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

(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, przechodzi pozycję w strumieniu do momentu wypełnienia buffer i monitoruje żądania anulowania.

(Odziedziczone po Stream)
Seek(Int64, SeekOrigin)

Ustawia bieżące położenie strumienia na daną wartość. Ta metoda nie jest obecnie obsługiwana i zawsze zgłasza NotSupportedException.

SetLength(Int64)

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

ToString()

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

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

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

Write(ReadOnlySpan<Byte>)

Zapisuje dane w NetworkStream z 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 w NetworkStream z określonego zakresu tablicy bajtów jako operację asynchroniczną.

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

Asynchronicznie zapisuje sekwencję bajtów w bieżącym strumieniu, 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 w NetworkStream z zakresu pamięci bajtów tylko do odczytu jako operację asynchroniczną.

WriteAsync(ReadOnlyMemory<Byte>, CancellationToken)

Asynchronicznie zapisuje sekwencję bajtów w bieżącym strumieniu, 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 i rozwija pozycję w strumieniu według jednego bajtu.

WriteByte(Byte)

Zapisuje bajt do bieżącej pozycji w strumieniu i rozwija pozycję w strumieniu według jednego bajtu.

(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 wszystkie zasoby używane przez NetworkStream.

Metody rozszerzania

CopyToAsync(Stream, PipeWriter, CancellationToken)

Asynchronicznie odczytuje bajty z Stream i zapisuje je w określonym PipeWriterprzy użyciu tokenu anulowania.

ConfigureAwait(IAsyncDisposable, Boolean)

Konfiguruje, w jaki sposób będą wykonywane oczekiwania na zadania zwrócone z asynchronicznego jednorazowego użytku.

Dotyczy

Zobacz też