NetworkStream.ReadAsync Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
| Имя | Описание |
|---|---|
| ReadAsync(Memory<Byte>, CancellationToken) |
Считывает данные из и NetworkStream сохраняет его в диапазоне памяти байтов в виде асинхронной операции. |
| ReadAsync(Byte[], Int32, Int32, CancellationToken) |
Считывает данные из NetworkStream и сохраняет его в указанном диапазоне массива байтов в виде асинхронной операции. |
ReadAsync(Memory<Byte>, CancellationToken)
- Исходный код:
- NetworkStream.cs
- Исходный код:
- NetworkStream.cs
- Исходный код:
- 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 между нулем (0) и числом запрошенных байтов. Значение результата равно нулю (0) только в том случае, если запрашивались ноль байтов или если больше байтов не доступно, так как сокет однорангового узла выполнил корректное завершение работы. Если запрашиваются ноль байтов, операции чтения могут завершиться немедленно или не завершиться до тех пор, пока не будет доступен хотя бы один байт (но без использования данных).
Исключения
Не NetworkStream поддерживает чтение.
NetworkStream закрыт.
Маркер отмены был отменен. Это исключение хранится в возвращаемой задаче.
Комментарии
Этот метод считывает столько данных, сколько доступно buffer в и возвращает количество байтов, успешно считываемых.
Note
Проверьте, доступен ли NetworkStream для CanRead чтения объект, вызвав свойство. Если вы пытаетесь прочитать из NetworkStream нечитаемого объекта, вы получите InvalidOperationException.
Note
Если вы получаете IOExceptionсвойство, проверьте InnerException , было ли оно вызвано SocketException. В этом случае используйте свойство ErrorCode для получения определенного кода ошибки и ознакомьтесь с кодом ошибки Windows Сокеты версии 2 API для подробного описания ошибки.
Применяется к
ReadAsync(Byte[], Int32, Int32, CancellationToken)
- Исходный код:
- NetworkStream.cs
- Исходный код:
- NetworkStream.cs
- Исходный код:
- NetworkStream.cs
- Исходный код:
- NetworkStream.cs
- Исходный код:
- NetworkStream.cs
Считывает данные из NetworkStream и сохраняет его в указанном диапазоне массива байтов в виде асинхронной операции.
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(cli::array <System::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);
public override System.Threading.Tasks.Task<int> ReadAsync(byte[] buffer, int offset, int size, 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, count As Integer, cancellationToken As CancellationToken) As Task(Of Integer)
Public Overrides Function ReadAsync (buffer As Byte(), offset As Integer, size As Integer, cancellationToken As CancellationToken) As Task(Of Integer)
Параметры
- buffer
- Byte[]
Буфер для записи данных в.
- offset
- Int32
buffer Расположение, в котором начинается хранение данных.
- countsize
- Int32
Число байтов для чтения из .NetworkStream
- cancellationToken
- CancellationToken
Маркер для отслеживания запросов на отмену.
Возвращаемое значение
Задача, представляющая асинхронную операцию чтения. Значение его Result свойства содержит общее число байтов, считываемых buffer между нулем (0) и числом запрошенных байтов. Значение результата равно нулю (0) только в том случае, если запрашивались ноль байтов или если больше байтов не доступно, так как сокет однорангового узла выполнил корректное завершение работы. Если запрашиваются ноль байтов, операции чтения могут завершиться немедленно или не завершиться до тех пор, пока не будет доступен хотя бы один байт (но без использования данных).
Исключения
Не NetworkStream поддерживает чтение.
NetworkStream закрыт.
Маркер отмены был отменен. Это исключение хранится в возвращаемой задаче.
Комментарии
Этот метод считывает данные buffer и возвращает количество байтов, успешно считываемых. Операция ReadAsync считывает столько данных, сколько доступно, до количества байтов, указанных параметром count .
Note
Проверьте, доступен ли NetworkStream для CanRead чтения объект, вызвав свойство. Если вы пытаетесь прочитать из NetworkStream нечитаемого объекта, вы получите InvalidOperationException.
Note
Если вы получаете IOExceptionсвойство, проверьте InnerException , было ли оно вызвано SocketException. В этом случае используйте свойство ErrorCode для получения определенного кода ошибки и ознакомьтесь с кодом ошибки Windows Сокеты версии 2 API для подробного описания ошибки.
Этот метод сохраняет в задаче все исключения без использования, которые может вызывать синхронный аналог метода. Если исключение хранится в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему выбрасываются синхронно. Сведения о сохраненных исключениях см. в исключениях, создаваемых Read(Byte[], Int32, Int32).