NetworkStream Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
- 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 |
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 |
ReadExactly(Span<Byte>) |
Odczytuje bajty z bieżącego strumienia i przesuwa pozycję w strumieniu do momentu wypełnienia |
ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken) |
Asynchronicznie odczytuje |
ReadExactlyAsync(Memory<Byte>, CancellationToken) |
Asynchronicznie odczytuje bajty z bieżącego strumienia, przechodzi pozycję w strumieniu do momentu wypełnienia |
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. |