Compartir a través de


NetworkStream.ReadAsync Método

Definición

Sobrecargas

ReadAsync(Memory<Byte>, CancellationToken)

Lee datos de NetworkStream y los almacena en un rango de memoria de bytes como una operación asincrónica.

ReadAsync(Byte[], Int32, Int32, CancellationToken)

Lee datos de NetworkStream y los almacena en un rango especificado de una matriz de bytes como una operación asincrónica.

ReadAsync(Memory<Byte>, CancellationToken)

Source:
NetworkStream.cs
Source:
NetworkStream.cs
Source:
NetworkStream.cs

Lee datos de NetworkStream y los almacena en un rango de memoria de bytes como una operación asincrónica.

public override System.Threading.Tasks.ValueTask<int> ReadAsync (Memory<byte> buffer, System.Threading.CancellationToken cancellationToken = default);
override this.ReadAsync : Memory<byte> * System.Threading.CancellationToken -> System.Threading.Tasks.ValueTask<int>
Public Overrides Function ReadAsync (buffer As Memory(Of Byte), Optional cancellationToken As CancellationToken = Nothing) As ValueTask(Of Integer)

Parámetros

buffer
Memory<Byte>

El búfer en el que se van a escribir los datos.

cancellationToken
CancellationToken

Token para supervisar solicitudes de cancelación.

Devoluciones

Un ValueTask<TResult> que representa la operación de lectura asincrónica. El valor de la propiedad Result contiene el número total de bytes leídos en buffer.

Excepciones

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.

Se canceló el token de cancelación. Esta excepción se almacena en la tarea devuelta.

Comentarios

Este método lee tantos datos como están disponibles en buffer y devuelve el número de bytes leídos correctamente.

Nota

Compruebe si es NetworkStream 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 se debe a .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

ReadAsync(Byte[], Int32, Int32, CancellationToken)

Source:
NetworkStream.cs
Source:
NetworkStream.cs
Source:
NetworkStream.cs

Lee datos de NetworkStream y los almacena en un rango especificado de una matriz de bytes como una operación asincrónica.

public:
 override System::Threading::Tasks::Task<int> ^ ReadAsync(cli::array <System::Byte> ^ buffer, int offset, int size, System::Threading::CancellationToken cancellationToken);
public:
 override System::Threading::Tasks::Task<int> ^ ReadAsync(cli::array <System::Byte> ^ buffer, int offset, int count, System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.Task<int> ReadAsync (byte[] buffer, int offset, int size, System.Threading.CancellationToken cancellationToken);
public override System.Threading.Tasks.Task<int> ReadAsync (byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken);
override this.ReadAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
override this.ReadAsync : byte[] * int * int * System.Threading.CancellationToken -> System.Threading.Tasks.Task<int>
Public Overrides Function ReadAsync (buffer As Byte(), offset As Integer, size As Integer, cancellationToken As CancellationToken) As Task(Of Integer)
Public Overrides Function ReadAsync (buffer As Byte(), offset As Integer, count As Integer, cancellationToken As CancellationToken) As Task(Of Integer)

Parámetros

buffer
Byte[]

El búfer en el que se escriben los datos.

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.

cancellationToken
CancellationToken

Token para supervisar solicitudes de cancelación.

Devoluciones

Tarea que representa la operación de lectura asincrónica. El valor de la propiedad Result contiene el número total de bytes leídos en buffer.

Excepciones

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.

Se canceló el token de cancelación. Esta excepción se almacena en la tarea devuelta.

Comentarios

Este método lee los datos en buffer y devuelve el número de bytes leídos correctamente. La ReadAsync operación lee tantos datos como están disponibles, hasta el número de bytes especificados por el size parámetro .

Nota

Compruebe si es NetworkStream 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 se debe a .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.

Este método almacena en la tarea que devuelve todas las excepciones que no son de uso que puede producir el homólogo sincrónico del método. Si se almacena una excepción en la tarea devuelta, esa excepción se producirá cuando se espere a la tarea. Las excepciones de uso, como ArgumentException, se siguen produciendo de forma sincrónica. Para ver las excepciones almacenadas, vea las excepciones producidas por Read(Byte[], Int32, Int32).

Se aplica a