NetworkStream.Read Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Sobrecargas
Read(Span<Byte>) |
Lee datos de NetworkStream y los almacena en un intervalo de bytes en memoria. |
Read(Byte[], Int32, Int32) |
Lee datos de NetworkStream y los almacena en una matriz de bytes. |
Read(Span<Byte>)
- Source:
- NetworkStream.cs
- Source:
- NetworkStream.cs
- Source:
- NetworkStream.cs
Lee datos de NetworkStream y los almacena en un intervalo de bytes en 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
Parámetros
Región de memoria para almacenar los datos leídos de NetworkStream.
Devoluciones
Número de bytes leídos de NetworkStream.
Excepciones
NetworkStream admite la lectura.
Se produjo un error al acceder al socket.
o bien
Se ha producido un error al leer de la red.
La clase NetworkStream está cerrada.
Comentarios
Este método lee tantos datos como están disponibles en el buffer
parámetro y devuelve el número de bytes leídos correctamente.
Nota
Compruebe si NetworkStream es legible llamando a la CanRead propiedad . Si intenta leer desde un NetworkStream objeto que no es legible, obtendrá un InvalidOperationException.
Nota
Si recibe un IOException, compruebe la InnerException propiedad para determinar si fue causada por un SocketException. Si es así, use la ErrorCode propiedad para obtener el código de error específico y consulte la documentación del código de error de la API de Windows Sockets versión 2 para obtener una descripción detallada del error.
Se aplica a
Read(Byte[], Int32, Int32)
- Source:
- NetworkStream.cs
- Source:
- NetworkStream.cs
- Source:
- NetworkStream.cs
Lee datos de NetworkStream y los almacena en una matriz de bytes.
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
Parámetros
- buffer
- Byte[]
Matriz de tipo Byte que corresponde a la ubicación de la memoria donde se almacenan los datos leídos de NetworkStream.
- offset
- Int32
Ubicación de buffer
donde se inicia el almacenamiento de los datos.
- sizecount
- Int32
Número de bytes que se va a leer de NetworkStream.
Devoluciones
Número de bytes leídos de NetworkStream.
Excepciones
buffer
es null
.
offset
es menor que 0.
O bien
offset
es mayor que la longitud de buffer
.
O bien
size
es menor que 0.
O bien
size
es mayor que la longitud de buffer
menos offset
.
NetworkStream admite la lectura.
Se produjo un error al acceder al socket.
o bien
Se ha producido un error al leer de la red.
La clase NetworkStream está cerrada.
Ejemplos
En el ejemplo de código siguiente se usa DataAvailable para determinar si los datos están disponibles para leerse. Si los datos están disponibles, lee de .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);
Comentarios
Este método lee los datos en buffer
y devuelve el número de bytes leídos correctamente. La Read
operación lee tantos datos como estén disponibles, hasta el número de bytes especificados por el size
parámetro .
Nota
Compruebe si NetworkStream es legible llamando a la CanRead propiedad . Si intenta leer desde un NetworkStream objeto que no es legible, obtendrá un InvalidOperationException.
Nota
Si recibe un IOException, compruebe la InnerException propiedad para determinar si fue causada por un SocketException. Si es así, use la ErrorCode propiedad para obtener el código de error específico y consulte la documentación del código de error de la API de Windows Sockets versión 2 para obtener una descripción detallada del error.