NetworkStream.EndRead(IAsyncResult) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Обрабатывает конец асинхронного чтения.
public:
override int EndRead(IAsyncResult ^ asyncResult);
public override int EndRead(IAsyncResult asyncResult);
override this.EndRead : IAsyncResult -> int
Public Overrides Function EndRead (asyncResult As IAsyncResult) As Integer
Параметры
- asyncResult
- IAsyncResult
Объект, IAsyncResult представляющий асинхронный вызов.
Возвращаемое значение
Число байтов, считываемых из NetworkStreamнуля (0) и количества запрошенных байтов. Метод возвращает ноль (0) только в том случае, если запрашивались ноль байтов или если больше байтов не доступно, так как сокет однорангового узла выполнил корректное завершение работы. Если запрашиваются ноль байтов, операции чтения могут завершиться немедленно или не завершиться до тех пор, пока не будет доступен хотя бы один байт (но без использования данных).
Исключения
Параметр asyncResult имеет значение null.
NetworkStream закрыт.
Комментарии
Это важно
Это API совместимости. Мы не рекомендуем использовать методы APM (Begin/End) для новой разработки. Вместо этого используйте эквиваленты на основе задач.
Метод EndRead завершает операцию чтения, запущенную методом BeginRead . Необходимо передать IAsyncResult созданный вызов сопоставления BeginRead . EndRead блокирует вызывающий поток до завершения операции.
Замечание
Если вы получаете IOExceptionсвойство, проверьте InnerException , было ли оно вызвано SocketException. В этом случае используйте ErrorCode свойство для получения определенного кода ошибки.