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 свойство , чтобы получить конкретный код ошибки, и ознакомьтесь с документацией по коду ошибки API сокетов 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 свойство , чтобы получить конкретный код ошибки, и ознакомьтесь с документацией по коду ошибки API сокетов Windows версии 2 , чтобы получить подробное описание ошибки.

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

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