Partilhar via


NetworkStream.ReadAsync Método

Definição

Sobrecargas

ReadAsync(Memory<Byte>, CancellationToken)

Lê dados do NetworkStream e os armazena em um intervalo de memória de bytes como uma operação assíncrona.

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

Lê dados do NetworkStream e os armazena em um intervalo especificado de uma matriz de bytes como uma operação assíncrona.

ReadAsync(Memory<Byte>, CancellationToken)

Origem:
NetworkStream.cs
Origem:
NetworkStream.cs
Origem:
NetworkStream.cs

Lê dados do NetworkStream e os armazena em um intervalo de memória de bytes como uma operação assíncrona.

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>

O buffer no qual os dados serão gravados.

cancellationToken
CancellationToken

O token a se monitorar para solicitações de cancelamento.

Retornos

Um ValueTask<TResult> que representa a operação de leitura assíncrona. O valor de sua propriedade Result contém o número total de bytes lidos no buffer.

Exceções

O NetworkStream não oferece suporte à leitura.

Ocorreu um erro ao acessar o soquete.

- ou -

Ocorreu uma falha de leitura da rede.

O token de cancelamento foi cancelado. Essa exceção é armazenada na tarefa retornada.

Comentários

Esse método lê o máximo de dados em que está disponível buffer e retorna o número de bytes lidos com êxito.

Observação

Verifique se o NetworkStream é legível chamando a CanRead propriedade . Se você tentar ler de um NetworkStream que não é legível, obterá um InvalidOperationException.

Observação

Se você receber um IOException, marcar a InnerException propriedade para determinar se ela foi causada por um SocketException. Nesse caso, use a ErrorCode propriedade para obter o código de erro específico e consulte a documentação do código de erro da API do Windows Sockets versão 2 para obter uma descrição detalhada do erro.

Aplica-se a

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

Origem:
NetworkStream.cs
Origem:
NetworkStream.cs
Origem:
NetworkStream.cs

Lê dados do NetworkStream e os armazena em um intervalo especificado de uma matriz de bytes como uma operação assíncrona.

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[]

O buffer no qual os dados serão gravados.

offset
Int32

O local em buffer onde os dados começarão a ser armazenados.

sizecount
Int32

O número de bytes a serem lidos de NetworkStream.

cancellationToken
CancellationToken

O token a se monitorar para solicitações de cancelamento.

Retornos

Uma tarefa que representa a operação de leitura assíncrona. O valor de sua propriedade Result contém o número total de bytes lidos no buffer.

Exceções

O NetworkStream não oferece suporte à leitura.

Ocorreu um erro ao acessar o soquete.

- ou -

Ocorreu uma falha de leitura da rede.

O token de cancelamento foi cancelado. Essa exceção é armazenada na tarefa retornada.

Comentários

Esse método lê dados em buffer e retorna o número de bytes lidos com êxito. A ReadAsync operação lê o máximo de dados disponível, até o número de bytes especificado pelo size parâmetro .

Observação

Verifique se o NetworkStream é legível chamando a CanRead propriedade . Se você tentar ler de um NetworkStream que não é legível, obterá um InvalidOperationException.

Observação

Se você receber um IOException, marcar a InnerException propriedade para determinar se ela foi causada por um SocketException. Nesse caso, use a ErrorCode propriedade para obter o código de erro específico e consulte a documentação do código de erro da API do Windows Sockets versão 2 para obter uma descrição detalhada do erro.

Esse método armazena na tarefa que retorna todas as exceções de não uso que a contraparte síncrona do método pode gerar. Se uma exceção for armazenada na tarefa retornada, essa exceção será gerada quando a tarefa for aguardada. Exceções de uso, como ArgumentException, ainda são geradas de forma síncrona. Para as exceções armazenadas, consulte as exceções geradas por Read(Byte[], Int32, Int32).

Aplica-se a