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í
| Read(Span<Byte>) |
Čte data z NetworkStream a ukládá je do rozsahu bajtů v paměti. |
| Read(Byte[], Int32, Int32) |
Načte data z NetworkStream a uloží je do pole bajtů. |
Read(Span<Byte>)
- Zdroj:
- NetworkStream.cs
- Zdroj:
- NetworkStream.cs
- Zdroj:
- NetworkStream.cs
Čte data z 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 přečtených z .NetworkStream
Návraty
Počet bajtů přečtených z NetworkStream.
Výjimky
Nepodporuje NetworkStream čtení.
Je NetworkStream zavřený.
Poznámky
Tato metoda načte do parametru buffer tolik dat, kolik je k dispozici, a vrátí počet bajtů, které byly úspěšně přečtené.
Poznámka
Zkontrolujte, jestli NetworkStream je čitelný voláním CanRead vlastnosti . Pokud se pokusíte číst z objektu NetworkStream , který není čitelný, zobrazí se InvalidOperationException.
Poznámka
Pokud obdržíte IOException, zkontrolujte vlastnost a InnerException zjistěte, jestli nebyla způsobená SocketException. Pokud ano, použijte ErrorCode vlastnost k získání konkrétního kódu chyby a podrobný popis chyby najdete v dokumentaci ke kódu chyb rozhraní API rozhraní Windows Sockets verze 2 .
Platí pro
Read(Byte[], Int32, Int32)
- Zdroj:
- NetworkStream.cs
- Zdroj:
- NetworkStream.cs
- Zdroj:
- NetworkStream.cs
Načte data z NetworkStream a uloží je do pole bajtů.
public:
override int Read(cli::array <System::Byte> ^ buffer, int offset, int size);
public:
override int Read(cli::array <System::Byte> ^ buffer, int offset, int count);
public override int Read (byte[] buffer, int offset, int size);
public override int Read (byte[] buffer, int offset, int count);
override this.Read : byte[] * int * int -> int
override this.Read : byte[] * int * int -> int
Public Overrides Function Read (buffer As Byte(), offset As Integer, size As Integer) As Integer
Public Overrides Function Read (buffer As Byte(), offset As Integer, count As Integer) As Integer
Parametry
- buffer
- Byte[]
Pole typu Byte , které je umístěním v paměti pro ukládání dat přečtených z objektu NetworkStream.
- offset
- Int32
Umístění v, do buffer které se mají data začít ukládat.
- sizecount
- Int32
Počet bajtů, které se mají přečíst z NetworkStream.
Návraty
Počet bajtů přečtených z NetworkStream.
Výjimky
buffer je null.
offset je menší než 0.
-nebo-
offsetje větší než délka .buffer
-nebo-
size je menší než 0.
-nebo-
size je větší než délka minus bufferoffset.
Nepodporuje NetworkStream čtení.
Je NetworkStream zavřený.
Příklady
Následující příklad kódu používá DataAvailable k určení, zda jsou data k dispozici ke čtení. Pokud jsou data k dispozici, načtou se z .NetworkStream
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 do buffer a vrátí počet bajtů, které byly úspěšně přečtené. Operace Read načte tolik dat, kolik je k dispozici, až do počtu bajtů určených parametrem size .
Poznámka
Zkontrolujte, jestli NetworkStream je čitelný voláním CanRead vlastnosti . Pokud se pokusíte číst z objektu NetworkStream , který není čitelný, zobrazí se InvalidOperationException.
Poznámka
Pokud obdržíte IOException, zkontrolujte vlastnost a InnerException zjistěte, jestli nebyla způsobená SocketException. Pokud ano, použijte ErrorCode vlastnost k získání konkrétního kódu chyby a podrobný popis chyby najdete v dokumentaci ke kódu chyb rozhraní API rozhraní Windows Sockets verze 2 .