NetworkStream.Read Metoda

Definice

Přetížení

Name Description
Read(Span<Byte>)

Čte data z dat NetworkStream a ukládá je do rozsahu bajtů v paměti.

Read(Byte[], Int32, Int32)

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

Read(Span<Byte>)

Zdroj:
NetworkStream.cs
Zdroj:
NetworkStream.cs
Zdroj:
NetworkStream.cs
Zdroj:
NetworkStream.cs
Zdroj:
NetworkStream.cs

Čte data z dat NetworkStream a ukládá je do rozsahu bajtů v paměti.

public:
 override int Read(Span<System::Byte> buffer);
public override int Read(Span<byte> buffer);
override this.Read : Span<byte> -> int
Public Overrides Function Read (buffer As Span(Of Byte)) As Integer

Parametry

buffer
Span<Byte>

Oblast paměti pro ukládání dat načtených z objektu NetworkStream.

Návraty

Celkový počet bajtů přečtených do vyrovnávací paměti mezi nulou (0) a délkou vyrovnávací paměti. Metoda vrátí nulu (0), pouze pokud byly požadovány nulové bajty nebo pokud nejsou k dispozici žádné další bajty, protože peer socket provedl řádné vypnutí.

Výjimky

Při přístupu k soketu došlo k chybě.

nebo

Při čtení ze sítě došlo k chybě.

Poznámky

Tato metoda čte tolik dat, kolik je k dispozici v parametru buffer , a vrátí počet bajtů úspěšně přečtených.

Note

Zkontrolujte, jestli NetworkStream je čitelný voláním CanRead vlastnosti. Pokud se pokusíte číst z objektuNetworkStream, který není čitelný, získáte .InvalidOperationException

Note

Pokud obdržíte , IOExceptionzkontrolujte InnerException vlastnost a zjistěte, zda byla způsobena SocketException. Pokud ano, použijte vlastnost ErrorCode k získání konkrétního kódu chyby a odkazujte na kód chyby Windows Sockets verze 2 rozhraní API dokumentaci k podrobnému popisu chyby.

Platí pro

Read(Byte[], Int32, Int32)

Zdroj:
NetworkStream.cs
Zdroj:
NetworkStream.cs
Zdroj:
NetworkStream.cs
Zdroj:
NetworkStream.cs
Zdroj:
NetworkStream.cs

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

public:
 override int Read(cli::array <System::Byte> ^ buffer, int offset, int count);
public:
 override int Read(cli::array <System::Byte> ^ buffer, int offset, int size);
public override int Read(byte[] buffer, int offset, int count);
public override int Read(byte[] buffer, int offset, int size);
override this.Read : byte[] * int * int -> int
override this.Read : byte[] * int * int -> int
Public Overrides Function Read (buffer As Byte(), offset As Integer, count As Integer) As Integer
Public Overrides Function Read (buffer As Byte(), offset As Integer, size As Integer) As Integer

Parametry

buffer
Byte[]

Pole typu Byte , které je umístěním v paměti pro ukládání dat načtených z objektu NetworkStream.

offset
Int32

Umístění, do buffer které chcete začít ukládat data.

countsize
Int32

Počet bajtů, které mají být načteny z objektu NetworkStream.

Návraty

Celkový počet bajtů přečtených do vyrovnávací paměti mezi nulou (0) a požadovaným počtem. Metoda vrátí nulu (0), pouze pokud byly požadovány nulové bajty nebo pokud nejsou k dispozici žádné další bajty, protože peer socket provedl řádné vypnutí.

Výjimky

buffer je null.

offset je menší než 0.

nebo

offset je větší než délka buffer.

nebo

size je menší než 0.

nebo

size je větší než délka buffer minus offset.

Při přístupu k soketu došlo k chybě.

nebo

Při čtení ze sítě došlo k chybě.

Příklady

Následující příklad kódu načte data z NetworkStream vyrovnávací paměti. Pokud jsou data k dispozici, pokračuje ve čtení až do konce datového proudu a připojí přijatá data k objektu StringBuilder.

byte[] myReadBuffer = new byte[1024];
StringBuilder myCompleteMessage = new StringBuilder();
int numberOfBytesRead = myNetworkStream.Read(myReadBuffer, 0, myReadBuffer.Length);

// Read all the data until the end of stream has been reached.
// The incoming message may be larger than the buffer size.
while (numberOfBytesRead > 0)
{
    myCompleteMessage.Append(Encoding.ASCII.GetString(myReadBuffer, 0, numberOfBytesRead));
    numberOfBytesRead = myNetworkStream.Read(myReadBuffer, 0, myReadBuffer.Length);
}

// Print out the received message to the console.
Console.WriteLine("You received the following message : " + myCompleteMessage);

Poznámky

Tato metoda načte data a buffer vrátí počet bajtů, které byly úspěšně přečteny. Operace Read čte tolik dat, kolik je k dispozici, až do počtu bajtů určených parametrem count .

Note

Zkontrolujte, jestli NetworkStream je čitelný voláním CanRead vlastnosti. Pokud se pokusíte číst z objektuNetworkStream, který není čitelný, získáte .InvalidOperationException

Note

Pokud obdržíte , IOExceptionzkontrolujte InnerException vlastnost a zjistěte, zda byla způsobena SocketException. Pokud ano, použijte vlastnost ErrorCode k získání konkrétního kódu chyby a odkazujte na kód chyby Windows Sockets verze 2 rozhraní API dokumentaci k podrobnému popisu chyby.

Viz také

Platí pro