NetworkStream Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Poskytuje základní datový proud pro přístup k síti.
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
- Dědičnost
- Dědičnost
- Implementuje
Poznámky
Třída NetworkStream poskytuje metody pro odesílání a příjem dat přes Stream sokety v režimu blokování. Další informace o blokování versus odblokování Socketnaleznete v tématu Použití asynchronního klientského soketu. Třídu můžete použít NetworkStream pro synchronní i asynchronní přenos dat. Další informace o synchronní a asynchronní komunikaci naleznete v tématu Sokety.
Chcete-li vytvořit NetworkStream, musíte poskytnout připojeno Socket. Můžete také určit, jaké FileAccess oprávnění má Socketdané oprávnění NetworkStream . Ve výchozím nastavení zavření NetworkStream zadaného Socketsouboru . Pokud chcete NetworkStream , aby měla oprávnění k zavření zadaného Socketparametru, je nutné zadat true hodnotu parametru ownsSocket .
Write Použijte a Read metody pro jednoduché synchronní blokující vstupně-výstupní operace s jedním vláknem. Pokud chcete zpracovávat vstupně-výstupní operace asynchronně, zvažte použití Task metod nebo ValueTaskmetod ReadAsync založených na WriteAsync.
Nepodporuje NetworkStream náhodný přístup k datovému proudu sítě. Hodnota CanSeek vlastnosti, která označuje, zda datový proud podporuje hledání, je vždy false; čtení Position vlastnosti, čtení Length vlastnosti nebo volání Seek metody vyvolá NotSupportedException.
Operace čtení a zápisu lze provádět současně s instancí NetworkStream třídy bez nutnosti synchronizace. Pokud existuje jedno jedinečné vlákno pro operace zápisu a jedno jedinečné vlákno pro operace čtení, nebude mezi vlákny čtení a zápisu žádná křížová interference a nevyžaduje se žádná synchronizace.
Konstruktory
| Name | Description |
|---|---|
| NetworkStream(Socket, Boolean) |
Inicializuje novou instanci NetworkStream třídy pro zadané Socket se zadaným Socket vlastnictvím. |
| NetworkStream(Socket, FileAccess, Boolean) |
Vytvoří novou instanci NetworkStream třídy pro zadané Socket s určenými přístupovými právy a zadaným Socket vlastnictvím. |
| NetworkStream(Socket, FileAccess) |
Vytvoří novou instanci NetworkStream třídy pro zadanou Socket se zadanými přístupovými právy. |
| NetworkStream(Socket) |
Vytvoří novou instanci NetworkStream třídy pro zadanou Socket. |
Vlastnosti
| Name | Description |
|---|---|
| CanRead |
Získá hodnotu, která označuje, zda NetworkStream podporuje čtení. |
| CanSeek |
Získá hodnotu, která označuje, zda datový proud podporuje hledání. Tato vlastnost se v současné době nepodporuje. Tato vlastnost vždy vrátí |
| CanTimeout |
Určuje, zda jsou vlastnosti časového limitu použitelné pro NetworkStream. |
| CanWrite |
Získá hodnotu, která označuje, zda NetworkStream podporuje zápis. |
| DataAvailable |
Získá hodnotu, která určuje, zda jsou data k dispozici pro NetworkStream okamžité čtení. |
| Length |
Získá délku dat dostupných ve streamu. Tato vlastnost není aktuálně podporována a vždy vyvolá NotSupportedExceptionchybu . |
| Position |
Získá nebo nastaví aktuální pozici v datovém proudu. Tato vlastnost není aktuálně podporována a vždy vyvolá NotSupportedExceptionchybu . |
| Readable |
Získá nebo nastaví hodnotu, která označuje, zda NetworkStream lze číst. |
| ReadTimeout |
Získá nebo nastaví dobu, po kterou operace čtení blokuje čekání na data. |
| Socket |
Získá základní Socket. |
| Writeable |
Získá hodnotu, která označuje, zda NetworkStream je zapisovatelná. |
| WriteTimeout |
Získá nebo nastaví dobu, po kterou operace zápisu blokuje čekání na data. |
Metody
| Name | Description |
|---|---|
| BeginRead(Byte[], Int32, Int32, AsyncCallback, Object) |
Začne asynchronní čtení z objektu NetworkStream. |
| BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object) |
Zahájí asynchronní zápis do datového proudu. |
| Close() |
Zavře .NetworkStream |
| Close() |
Zavře aktuální datový proud a uvolní všechny prostředky (například sokety a popisovače souborů) přidružené k aktuálnímu datovému proudu. Místo volání této metody se ujistěte, že je datový proud správně uvolněn. (Zděděno od Stream) |
| Close(Int32) |
Zavře po NetworkStream čekání na zadaný čas, aby bylo možné odesílat data. |
| Close(TimeSpan) |
NetworkStream Zavře poté, co počká zadanou dobu, aby bylo možné odesílat data. |
| CopyTo(Stream, Int32) |
Načte bajty z aktuálního datového proudu a zapíše je do jiného datového proudu pomocí zadané velikosti vyrovnávací paměti. Obě pozice datových proudů jsou rozšířeny počtem bajtů zkopírovaných. (Zděděno od Stream) |
| CopyTo(Stream) |
Přečte bajty z aktuálního datového proudu a zapíše je do jiného datového proudu. Obě pozice datových proudů jsou rozšířeny počtem bajtů zkopírovaných. (Zděděno od Stream) |
| CopyToAsync(Stream, CancellationToken) |
Asynchronně čte bajty z aktuálního datového proudu a zapisuje je do jiného datového proudu pomocí zadaného tokenu zrušení. Obě pozice datových proudů jsou rozšířeny počtem bajtů zkopírovaných. (Zděděno od Stream) |
| CopyToAsync(Stream, Int32, CancellationToken) |
Asynchronně čte bajty z aktuálního datového proudu a zapisuje je do jiného datového proudu pomocí zadané velikosti vyrovnávací paměti a tokenu zrušení. Obě pozice datových proudů jsou rozšířeny počtem bajtů zkopírovaných. (Zděděno od Stream) |
| CopyToAsync(Stream, Int32) |
Asynchronně čte bajty z aktuálního datového proudu a zapisuje je do jiného datového proudu pomocí zadané velikosti vyrovnávací paměti. Obě pozice datových proudů jsou rozšířeny počtem bajtů zkopírovaných. (Zděděno od Stream) |
| CopyToAsync(Stream) |
Asynchronně čte bajty z aktuálního datového proudu a zapisuje je do jiného datového proudu. Obě pozice datových proudů jsou rozšířeny počtem bajtů zkopírovaných. (Zděděno od Stream) |
| CreateObjRef(Type) |
Vytvoří objekt, který obsahuje všechny relevantní informace potřebné k vygenerování proxy serveru sloužícího ke komunikaci se vzdáleným objektem. (Zděděno od MarshalByRefObject) |
| CreateWaitHandle() |
Zastaralé.
Zastaralé.
Zastaralé.
WaitHandle Přidělí objekt. (Zděděno od Stream) |
| Dispose() |
Uvolní všechny prostředky používané nástrojem Stream. (Zděděno od Stream) |
| Dispose(Boolean) |
Uvolní nespravované prostředky používané NetworkStream a volitelně uvolní spravované prostředky. |
| DisposeAsync() |
Asynchronně uvolní nespravované prostředky používané Streamnástrojem . (Zděděno od Stream) |
| EndRead(IAsyncResult) |
Zpracovává konec asynchronního čtení. |
| EndWrite(IAsyncResult) |
Zpracovává konec asynchronního zápisu. |
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| Finalize() |
Uvolní všechny prostředky používané nástrojem NetworkStream. |
| Flush() |
Vyprázdní data z datového proudu. Tato metoda je vyhrazena pro budoucí použití. |
| FlushAsync() |
Asynchronně vymaže všechny vyrovnávací paměti pro tento datový proud a způsobí zápis všech dat uložených do vyrovnávací paměti do podkladového zařízení. (Zděděno od Stream) |
| FlushAsync(CancellationToken) |
Vyprázdní data z datového proudu jako asynchronní operaci. |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetLifetimeService() |
Zastaralé.
Načte objekt služby aktuální životnosti, který řídí zásady životnosti pro tuto instanci. (Zděděno od MarshalByRefObject) |
| GetType() |
Type Získá aktuální instanci. (Zděděno od Object) |
| InitializeLifetimeService() |
Zastaralé.
Získá objekt služby životnosti pro řízení zásad životnosti pro tuto instanci. (Zděděno od MarshalByRefObject) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| MemberwiseClone(Boolean) |
Vytvoří mělkou kopii aktuálního MarshalByRefObject objektu. (Zděděno od MarshalByRefObject) |
| ObjectInvariant() |
Zastaralé.
Poskytuje podporu pro .Contract (Zděděno od Stream) |
| Read(Byte[], Int32, Int32) |
Načte data z a NetworkStream uloží je do bajtového pole. |
| Read(Span<Byte>) |
Čte data z dat NetworkStream a ukládá je do rozsahu bajtů v paměti. |
| Read(Span<Byte>) |
Při přepsání v odvozené třídě přečte posloupnost bajtů z aktuálního datového proudu a posune pozici v datovém proudu o počet přečtených bajtů. (Zděděno od Stream) |
| ReadAsync(Byte[], Int32, Int32, CancellationToken) |
Načte data z NetworkStream a uloží je do zadané oblasti bajtového pole jako asynchronní operace. |
| ReadAsync(Byte[], Int32, Int32, CancellationToken) |
Asynchronně přečte posloupnost bajtů z aktuálního datového proudu, posune pozici v datovém proudu o počet přečtených bajtů a monitoruje žádosti o zrušení. (Zděděno od Stream) |
| ReadAsync(Byte[], Int32, Int32) |
Asynchronně čte posloupnost bajtů z aktuálního datového proudu a posune pozici v datovém proudu o počet přečtených bajtů. (Zděděno od Stream) |
| ReadAsync(Memory<Byte>, CancellationToken) |
Čte data z oblasti NetworkStream bajtů a ukládá je do bajtového rozsahu paměti jako asynchronní operace. |
| ReadAsync(Memory<Byte>, CancellationToken) |
Asynchronně přečte posloupnost bajtů z aktuálního datového proudu, posune pozici v datovém proudu o počet přečtených bajtů a monitoruje žádosti o zrušení. (Zděděno od Stream) |
| ReadAtLeast(Span<Byte>, Int32, Boolean) |
Čte alespoň minimální počet bajtů z aktuálního datového proudu a posune pozici v datovém proudu o počet přečtených bajtů. (Zděděno od Stream) |
| ReadAtLeastAsync(Memory<Byte>, Int32, Boolean, CancellationToken) |
Asynchronně čte alespoň minimální počet bajtů z aktuálního datového proudu, posune pozici v rámci datového proudu o počet přečtených bajtů a monitoruje žádosti o zrušení. (Zděděno od Stream) |
| ReadByte() |
Přečte bajt z bajtu NetworkStream a posune pozici v datovém proudu o jeden bajt nebo vrátí -1, pokud je na konci datového proudu. |
| ReadByte() |
Přečte bajt ze streamu a posune pozici v rámci datového proudu o jeden bajt nebo vrátí -1, pokud je na konci datového proudu. (Zděděno od Stream) |
| ReadExactly(Byte[], Int32, Int32) |
|
| ReadExactly(Span<Byte>) |
Přečte bajty z aktuálního datového proudu a posune pozici v rámci datového proudu, dokud |
| ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken) |
Asynchronně čte |
| ReadExactlyAsync(Memory<Byte>, CancellationToken) |
Asynchronně čte bajty z aktuálního datového proudu, posune pozici v rámci datového proudu, dokud |
| Seek(Int64, SeekOrigin) |
Nastaví aktuální pozici datového proudu na danou hodnotu. Tato metoda není v současné době podporována a vždy vyvolá NotSupportedExceptionvýjimku . |
| SetLength(Int64) |
Nastaví délku datového proudu. Tato metoda vždy vyvolá NotSupportedException. |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
| Write(Byte[], Int32, Int32) |
Zapisuje data do NetworkStream zadané oblasti bajtového pole. |
| Write(ReadOnlySpan<Byte>) |
Zapisuje data z bajtového rozsahu NetworkStream jen pro čtení. |
| Write(ReadOnlySpan<Byte>) |
Při přepsání v odvozené třídě zapíše posloupnost bajtů do aktuálního datového proudu a posune aktuální pozici v tomto datovém proudu počtem zapsaných bajtů. (Zděděno od Stream) |
| WriteAsync(Byte[], Int32, Int32, CancellationToken) |
Zapisuje data do NetworkStream zadané oblasti bajtového pole jako asynchronní operace. |
| WriteAsync(Byte[], Int32, Int32, CancellationToken) |
Asynchronně zapíše posloupnost bajtů do aktuálního datového proudu, posune aktuální pozici v tomto datovém proudu o počet zapsaných bajtů a monitoruje žádosti o zrušení. (Zděděno od Stream) |
| WriteAsync(Byte[], Int32, Int32) |
Asynchronně zapíše posloupnost bajtů do aktuálního datového proudu a posune aktuální pozici v tomto datovém proudu o počet zapsaných bajtů. (Zděděno od Stream) |
| WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) |
Zapisuje data z bajtové oblasti paměti jen pro NetworkStream čtení jako asynchronní operace. |
| WriteAsync(ReadOnlyMemory<Byte>, CancellationToken) |
Asynchronně zapíše posloupnost bajtů do aktuálního datového proudu, posune aktuální pozici v tomto datovém proudu o počet zapsaných bajtů a monitoruje žádosti o zrušení. (Zděděno od Stream) |
| WriteByte(Byte) |
Zapíše bajt na aktuální pozici v NetworkStream dané pozici a posune pozici v rámci datového proudu o jeden bajt. |
| WriteByte(Byte) |
Zapíše bajt na aktuální pozici v datovém proudu a posune pozici v rámci datového proudu o jeden bajt. (Zděděno od Stream) |
Explicitní implementace rozhraní
| Name | Description |
|---|---|
| IDisposable.Dispose() |
Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu. Uvolní všechny prostředky používané nástrojem NetworkStream. |
Metody rozšíření
| Name | Description |
|---|---|
| ConfigureAwait(IAsyncDisposable, Boolean) |
Konfiguruje, jak čekají na úlohy vrácené z asynchronního jednorázového použití. |
| CopyToAsync(Stream, PipeWriter, CancellationToken) |
Asynchronně čte bajty ze zadaného objektu Stream a zapíše je do zadaného PipeWritertokenu zrušení. |