NetworkStream.Read Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
| Nome | Descrizione |
|---|---|
| Read(Span<Byte>) |
Legge i dati dall'oggetto NetworkStream e li archivia in un intervallo di byte in memoria. |
| Read(Byte[], Int32, Int32) |
Legge i dati dall'oggetto NetworkStream e li archivia in una matrice di byte. |
Read(Span<Byte>)
- Origine:
- NetworkStream.cs
- Origine:
- NetworkStream.cs
- Origine:
- NetworkStream.cs
- Origine:
- NetworkStream.cs
- Origine:
- NetworkStream.cs
Legge i dati dall'oggetto NetworkStream e li archivia in un intervallo di byte in memoria.
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
Parametri
Area di memoria in cui archiviare i dati letti da NetworkStream.
Valori restituiti
Numero totale di byte letti nel buffer, compreso tra zero (0) e la lunghezza del buffer. Il metodo restituisce zero (0) solo se sono stati richiesti zero byte o se non sono disponibili più byte perché il socket peer ha eseguito un arresto normale.
Eccezioni
Non NetworkStream supporta la lettura.
Si è verificato un errore durante l'accesso al socket.
oppure
Si è verificato un errore durante la lettura dalla rete.
L'oggetto NetworkStream è chiuso.
Commenti
Questo metodo legge tutti i dati disponibili nel buffer parametro e restituisce il numero di byte letti correttamente.
Note
Controllare se è NetworkStream leggibile chiamando la CanRead proprietà . Se si tenta di leggere da un oggetto NetworkStream che non è leggibile, si otterrà un oggetto InvalidOperationException.
Note
Se si riceve un oggetto IOException, controllare la InnerException proprietà per determinare se è stata causata da un oggetto SocketException. In tal caso, usare la proprietà ErrorCode per ottenere il codice di errore specifico e fare riferimento al codice di errore api Windows Sockets versione 2 documentazione per una descrizione dettagliata dell'errore.
Si applica a
Read(Byte[], Int32, Int32)
- Origine:
- NetworkStream.cs
- Origine:
- NetworkStream.cs
- Origine:
- NetworkStream.cs
- Origine:
- NetworkStream.cs
- Origine:
- NetworkStream.cs
Legge i dati dall'oggetto NetworkStream e li archivia in una matrice di byte.
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
Parametri
- buffer
- Byte[]
Matrice di tipo Byte che rappresenta la posizione in memoria per archiviare i dati letti da NetworkStream.
- offset
- Int32
Posizione in buffer in cui iniziare a archiviare i dati.
- countsize
- Int32
Numero di byte da leggere da NetworkStream.
Valori restituiti
Numero totale di byte letti nel buffer tra zero (0) e il conteggio richiesto. Il metodo restituisce zero (0) solo se sono stati richiesti zero byte o se non sono disponibili più byte perché il socket peer ha eseguito un arresto normale.
Eccezioni
buffer è null.
offset è minore di 0.
oppure
offset è maggiore della lunghezza di buffer.
oppure
size è minore di 0.
oppure
size è maggiore della lunghezza di buffer meno offset.
Non NetworkStream supporta la lettura.
Si è verificato un errore durante l'accesso al socket.
oppure
Si è verificato un errore durante la lettura dalla rete.
L'oggetto NetworkStream è chiuso.
Esempio
L'esempio di codice seguente legge i dati da NetworkStream in un buffer. Se i dati sono disponibili, continua la lettura fino al raggiungimento della fine del flusso, aggiungendo i dati ricevuti a un oggetto 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);
Commenti
Questo metodo legge i dati in buffer e restituisce il numero di byte letti correttamente. L'operazione Read legge la quantità di dati disponibile, fino al numero di byte specificato dal count parametro .
Note
Controllare se è NetworkStream leggibile chiamando la CanRead proprietà . Se si tenta di leggere da un oggetto NetworkStream che non è leggibile, si otterrà un oggetto InvalidOperationException.
Note
Se si riceve un oggetto IOException, controllare la InnerException proprietà per determinare se è stata causata da un oggetto SocketException. In tal caso, usare la proprietà ErrorCode per ottenere il codice di errore specifico e fare riferimento al codice di errore api Windows Sockets versione 2 documentazione per una descrizione dettagliata dell'errore.