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-
offset
je větší než délka .buffer
-nebo-
size
je menší než 0.
-nebo-
size
je větší než délka minus buffer
offset
.
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 .