Прочитать на английском

Поделиться через


AspNetWebSocket.CloseOutputAsync Метод

Определение

Отправляет асинхронное сообщение клиенту, чтобы закрыть соединение. Если сервер инициирует запрос на закрытие соединения, метод возвращает управление, не дожидаясь отклика.

C#
public override System.Threading.Tasks.Task CloseOutputAsync(System.Net.WebSockets.WebSocketCloseStatus closeStatus, string statusDescription, System.Threading.CancellationToken cancellationToken);

Параметры

closeStatus
WebSocketCloseStatus

Код состояния операции закрытия.

statusDescription
String

Сообщение о состоянии операции закрытия.

cancellationToken
CancellationToken

Объект, отменяющий ожидающую операцию.

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

Ссылка на операцию.

Исключения

Объект ранее был удален.

Объект AspNetWebSocket находится в состоянии завершения.

-или-

Операции отправки недоступны.

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

Комментарии

Чтобы закрыть подключение, можно использовать CloseAsync методы и CloseOutputAsync для запросов, инициированных клиентом и сервером AspNetWebSocket . Эти два метода обрабатывают инициированные клиентом запросы одинаково: после того, как клиент отправляет серверу сообщение о закрытии подключения, сервер вызывает один из этих методов и отправляет подтверждение клиенту, а затем метод возвращается.

Для запросов, инициированных сервером, эти два метода работают по-разному. Метод CloseAsync отправляет клиенту сообщение о закрытии подключения, ожидает ответа, а затем возвращает . Сервер не ожидает дополнительных данных, отправленных клиентом. В отличие от этого, CloseOutputAsync метод отправляет клиенту сообщение о закрытии подключения и возвращается без ожидания ответа. После возврата метода можно вызвать ReceiveAsync метод и обработать либо дополнительные данные, либо подтверждение, которое отправляет клиент.

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