NetworkStream.ReadAsync Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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.
O NetworkStream está fechado.
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.
O NetworkStream está fechado.
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).