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 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ść |
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 |
ReadExactly(Span<Byte>) |
Odczytuje bajty z bieżącego strumienia i przesuwa pozycję w strumieniu do |
ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken) |
Asynchronicznie odczytuje |
ReadExactlyAsync(Memory<Byte>, CancellationToken) |
Asynchronicznie odczytuje bajty z bieżącego strumienia, przesuwa pozycję w strumieniu do |
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ż
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla