Sdílet prostřednictvím


NetworkStream Třída

Definice

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
NetworkStream
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í a odblokování Sockets naleznete v tématu Použití asynchronního klientského soketu. Třídu NetworkStream můžete použít pro synchronní i asynchronní přenos dat. Další informace o synchronní a asynchronní komunikaci naleznete v tématu Sockets.

Chcete-li vytvořit NetworkStream, musíte zadat připojený Socket. Můžete také určit, jaké FileAccess oprávnění má NetworkStream nad poskytnutými Socket. Ve výchozím nastavení zavřete NetworkStream zadané Socket. Pokud chcete, aby NetworkStream měla oprávnění zavřít zadaný Socket, je nutné zadat true pro hodnotu parametru ownsSocket.

Použijte Write 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í metod založených na Task nebo ValueTaskReadAsync a WriteAsync.

NetworkStream nepodporuje náhodný přístup k datovému streamu sítě. Hodnota vlastnosti CanSeek, která označuje, zda datový proud podporuje hledání, je vždy false; čtení Position vlastnost, čtení Length vlastnost nebo volání Seek metoda vyvolá NotSupportedException.

Operace čtení a zápisu lze provádět současně s instancí třídy NetworkStream 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

NetworkStream(Socket)

Vytvoří novou instanci třídy NetworkStream pro zadanou Socket.

NetworkStream(Socket, Boolean)

Inicializuje novou instanci třídy NetworkStream pro zadanou Socket se zadaným Socket vlastnictví.

NetworkStream(Socket, FileAccess)

Vytvoří novou instanci třídy NetworkStream pro zadanou Socket se zadanými přístupovými právy.

NetworkStream(Socket, FileAccess, Boolean)

Vytvoří novou instanci třídy NetworkStream pro zadanou Socket se zadanými přístupovými právy a zadaným vlastnictvím Socket.

Vlastnosti

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 vrací false.

CanTimeout

Určuje, zda jsou vlastnosti časového limitu použitelné pro NetworkStream.

CanTimeout

Získá hodnotu, která určuje, zda aktuální datový proud může vypršení časového limitu.

(Zděděno od Stream)
CanWrite

Získá hodnotu, která označuje, zda NetworkStream podporuje zápis.

DataAvailable

Získá hodnotu, která označuje, zda data jsou k dispozici na NetworkStream být okamžitě přečteny.

Length

Získá délku dat dostupných ve streamu. Tato vlastnost není aktuálně podporována a vždy vyvolá NotSupportedException.

Position

Získá nebo nastaví aktuální pozici v datovém proudu. Tato vlastnost není aktuálně podporována a vždy vyvolá NotSupportedException.

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.

ReadTimeout

Získá nebo nastaví hodnotu v milisekundách, která určuje, jak dlouho se datový proud pokusí přečíst před uplynutím časového limitu.

(Zděděno od Stream)
Socket

Získá základní Socket.

Writeable

Získá hodnotu, která určuje, zda je NetworkStream zapisovatelný.

WriteTimeout

Získá nebo nastaví dobu, po kterou operace zápisu blokuje čekání na data.

WriteTimeout

Získá nebo nastaví hodnotu v milisekundách, která určuje, jak dlouho se datový proud pokusí zapsat před uplynutím časového limitu.

(Zděděno od Stream)

Metody

BeginRead(Byte[], Int32, Int32, AsyncCallback, Object)

Začíná asynchronní čtení z NetworkStream.

BeginRead(Byte[], Int32, Int32, AsyncCallback, Object)

Zahájí asynchronní operaci čtení. (Zvažte místo toho použití ReadAsync(Byte[], Int32, Int32).)

(Zděděno od Stream)
BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

Zahájí asynchronní zápis do datového proudu.

BeginWrite(Byte[], Int32, Int32, AsyncCallback, Object)

Zahájí asynchronní operaci zápisu. (Zvažte místo toho použití WriteAsync(Byte[], Int32, Int32).)

(Zděděno od Stream)
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 NetworkStream po čekání na zadaný čas, aby bylo možné odesílat data.

Close(TimeSpan)

Zavře NetworkStream po čekání na uplynutí zadané doby, aby bylo možné odesílat data.

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)
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)
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)
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)

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, 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)
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é.

Přidělí objekt WaitHandle.

(Zděděno od Stream)
Dispose()

Uvolní všechny prostředky používané 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é Stream.

(Zděděno od Stream)
EndRead(IAsyncResult)

Zpracovává konec asynchronního čtení.

EndRead(IAsyncResult)

Čeká na dokončení čekajícího asynchronního čtení. (Zvažte místo toho použití ReadAsync(Byte[], Int32, Int32).)

(Zděděno od Stream)
EndWrite(IAsyncResult)

Zpracovává konec asynchronního zápisu.

EndWrite(IAsyncResult)

Ukončí asynchronní operaci zápisu. (Zvažte místo toho použití WriteAsync(Byte[], Int32, Int32).)

(Zděděno od Stream)
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é 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.

FlushAsync(CancellationToken)

Asynchronně vymaže všechny vyrovnávací paměti pro tento datový proud, způsobí zápis všech dat uložených do vyrovnávací paměti do podkladového zařízení a monitoruje žádosti o zrušení.

(Zděděno od Stream)
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()

Získá Type aktuální instance.

(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 objektu MarshalByRefObject.

(Zděděno od MarshalByRefObject)
ObjectInvariant()
Zastaralé.

Poskytuje podporu pro Contract.

(Zděděno od Stream)
Read(Byte[], Int32, Int32)

Načte data z NetworkStream a uloží je do bajtového pole.

Read(Span<Byte>)

Čte data z 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)

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(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(Memory<Byte>, CancellationToken)

Čte data z NetworkStream 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 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)

Přečte count počet bajtů z aktuálního datového proudu a posune pozici v rámci datového proudu.

(Zděděno od Stream)
ReadExactly(Span<Byte>)

Přečte bajty z aktuálního datového proudu a posune pozici v rámci datového proudu, dokud se buffer nenaplní.

(Zděděno od Stream)
ReadExactlyAsync(Byte[], Int32, Int32, CancellationToken)

Asynchronně čte count počet bajtů z aktuálního datového proudu, posune pozici v rámci datového proudu a monitoruje požadavky na zrušení.

(Zděděno od Stream)
ReadExactlyAsync(Memory<Byte>, CancellationToken)

Asynchronně čte bajty z aktuálního datového proudu, posune pozici v rámci datového proudu, dokud se buffer nenaplní, a monitoruje žádosti o zrušení.

(Zděděno od Stream)
Seek(Int64, SeekOrigin)

Nastaví aktuální pozici datového proudu na danou hodnotu. Tato metoda není aktuálně podporována a vždy vyvolá NotSupportedException.

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)

Zapíše data do NetworkStream ze zadané oblasti bajtového pole.

Write(ReadOnlySpan<Byte>)

Zapisuje data do NetworkStream z rozsahu bajtů 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)

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(Byte[], Int32, Int32, CancellationToken)

Zapíše data do NetworkStream ze 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(ReadOnlyMemory<Byte>, CancellationToken)

Zapisuje data do NetworkStream z bajtové oblasti paměti jen pro č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 a posune pozici v datovém 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í

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é NetworkStream.

Metody rozšíření

CopyToAsync(Stream, PipeWriter, CancellationToken)

Asynchronně čte bajty z Stream a zapisuje je do zadané PipeWriterpomocí tokenu zrušení.

ConfigureAwait(IAsyncDisposable, Boolean)

Konfiguruje, jak čekají na úlohy vrácené z asynchronního jednorázového použití.

Platí pro

Viz také