Бөлісу құралы:


NetworkStream.ReadAsync Метод

Определение

Перегрузки

ReadAsync(Memory<Byte>, CancellationToken)

Считывает данные из NetworkStream и сохраняет их в диапазоне памяти байтов в качестве асинхронной операции.

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

Считывает данные из NetworkStream и сохраняет их заданном диапазоне массива байтов в качестве асинхронной операции.

ReadAsync(Memory<Byte>, CancellationToken)

Исходный код:
NetworkStream.cs
Исходный код:
NetworkStream.cs
Исходный код:
NetworkStream.cs

Считывает данные из NetworkStream и сохраняет их в диапазоне памяти байтов в качестве асинхронной операции.

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)

Параметры

buffer
Memory<Byte>

Буфер, в который записываются данные.

cancellationToken
CancellationToken

Токен для отслеживания запросов отмены.

Возвращаемое значение

Задача ValueTask<TResult>, представляющая асинхронную операцию чтения. Значение свойства Result содержит общее число байтов, считанных в buffer.

Исключения

NetworkStream не поддерживает чтение.

Произошла ошибка при обращении к сокету.

-или-

Произошел отказ в процессе чтения из сети.

Объект NetworkStream закрыт.

Маркер отмены был отменен. Это исключение сохраняется в возвращаемой задаче.

Комментарии

Этот метод считывает столько данных, сколько доступно в , buffer и возвращает число успешно прочитанных байтов.

Примечание

Проверьте, доступен ли NetworkStream удобочитаемый объект, вызвав CanRead свойство . При попытке чтения из объекта , NetworkStream который не является удобочитаемым, вы получите .InvalidOperationException

Примечание

Если вы получаете IOException, проверка InnerException свойство , чтобы определить, было ли оно вызвано SocketException. Если это так, используйте ErrorCode свойство , чтобы получить конкретный код ошибки. Подробное описание ошибки см. в документации по коду ошибки в сокетах Windows версии 2 .

Применяется к

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

Исходный код:
NetworkStream.cs
Исходный код:
NetworkStream.cs
Исходный код:
NetworkStream.cs

Считывает данные из NetworkStream и сохраняет их заданном диапазоне массива байтов в качестве асинхронной операции.

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)

Параметры

buffer
Byte[]

Буфер, в который записываются данные.

offset
Int32

Местоположение в объекте buffer, начиная с которого записываются сохраняемые данные.

sizecount
Int32

Число байтов, читаемых из объекта NetworkStream.

cancellationToken
CancellationToken

Токен для отслеживания запросов отмены.

Возвращаемое значение

Задача, представляющая асинхронную операцию чтения. Значение свойства Result содержит общее число байтов, считанных в buffer.

Исключения

NetworkStream не поддерживает чтение.

Произошла ошибка при обращении к сокету.

-или-

Произошел отказ в процессе чтения из сети.

Объект NetworkStream закрыт.

Маркер отмены был отменен. Это исключение сохраняется в возвращаемой задаче.

Комментарии

Этот метод считывает данные в buffer и возвращает число успешно прочитанных байтов. Операция ReadAsync считывает столько данных, сколько доступно, вплоть до количества байтов, указанного параметром size .

Примечание

Проверьте, доступен ли NetworkStream удобочитаемый объект, вызвав CanRead свойство . При попытке чтения из объекта , NetworkStream который не является удобочитаемым, вы получите .InvalidOperationException

Примечание

Если вы получаете IOException, проверка InnerException свойство , чтобы определить, было ли оно вызвано SocketException. Если это так, используйте ErrorCode свойство , чтобы получить конкретный код ошибки. Подробное описание ошибки см. в документации по коду ошибки в сокетах Windows версии 2 .

Этот метод сохраняет в задаче все исключения, не относящиеся к использованию, которые может создавать синхронный аналог метода. Если исключение сохраняется в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему создаются синхронно. Хранимые исключения см. в разделе исключения, создаваемые Read(Byte[], Int32, Int32).

Применяется к