NetworkStream.Read Metoda
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í.
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
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
Nepodporuje NetworkStream čtení.
To NetworkStream je uzavřeno.
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.
Nepodporuje NetworkStream čtení.
To NetworkStream je uzavřeno.
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.