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)
Параметры
- 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).