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
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ść |
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 |
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 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. |