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 przez Stream gniazda w trybie blokowania. Aby uzyskać więcej informacji na temat blokowania a nieblokowania Socket, zobacz Using an Asynchronous Client Socket (Używanie asynchronicznego gniazda klienta). Możesz 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 Sockets (Gniazda).

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

Write Użyj metod i Read w przypadku prostych synchronicznych synchronicznych operacji we/wy blokowania pojedynczych wątków. Jeśli chcesz przetworzyć operacje we/wy asynchronicznie, rozważ użycie metod ReadAsync opartych na Task kodzie lub ValueTaski WriteAsync.

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 właściwości, odczytywanie LengthPosition właściwości lub wywoływanie Seek metody spowoduje zgłoszenie NotSupportedException.

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 zakłóceń 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 określonej Socket z określonymi prawami dostępu.

NetworkStream(Socket, FileAccess, Boolean)

Tworzy nowe wystąpienie NetworkStream klasy 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 limitu czasu mogą być używane dla elementu 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 dla elementu do natychmiastowego NetworkStream odczytu.

Length

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

Position

Pobiera lub ustawia bieżące położenie w strumieniu. Ta właściwość nie jest obecnie obsługiwana i zawsze zgłasza wyjątek NotSupportedException.

Readable

Pobiera lub ustawia wartość wskazującą, czy NetworkStream można go 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 asynchroniczną operację zapisu 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)

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

Close(TimeSpan)

NetworkStream Zamyka obiekt po upływie określonego czasu, aby umożliwić wysyłanie danych.

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

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 program Stream.

(Odziedziczone po Stream)
EndRead(IAsyncResult)

Obsługuje koniec odczytu asynchronicznego.

EndRead(IAsyncResult)

Oczekuje 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()
Przestarzałe.

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

(Odziedziczone po Object)
MemberwiseClone(Boolean)

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

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

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 przesuwa pozycję w strumieniu przez liczbę odczytanych bajtów.

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

Asynchronicznie odczytuje sekwencję bajtów z bieżącego strumienia i rozwija pozycję w strumieniu przez liczbę 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, przesuwa pozycję w strumieniu o liczbę 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, przesuwa pozycję w strumieniu o liczbę 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 przez liczbę 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 przesuwa pozycję w strumieniu o jeden bajt 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 wyjątek NotSupportedException.

SetLength(Int64)

Ustawia długość strumienia. Ta metoda zawsze zgłasza wyjątek 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 na podstawie 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

CopyToAsync(Stream, PipeWriter, CancellationToken)

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

ConfigureAwait(IAsyncDisposable, Boolean)

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

Dotyczy

Zobacz też