次の方法で共有


AspNetWebSocket.CloseAsync メソッド

定義

クライアントに非同期メッセージを送信して接続を閉じます。 サーバーが接続を閉じる要求を開始する場合、メソッドは前に、クライアントが要求を確認するまで待機します。

public:
 override System::Threading::Tasks::Task ^ CloseAsync(System::Net::WebSockets::WebSocketCloseStatus closeStatus, System::String ^ statusDescription, System::Threading::CancellationToken cancellationToken);
public override System.Threading.Tasks.Task CloseAsync (System.Net.WebSockets.WebSocketCloseStatus closeStatus, string statusDescription, System.Threading.CancellationToken cancellationToken);
override this.CloseAsync : System.Net.WebSockets.WebSocketCloseStatus * string * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Overrides Function CloseAsync (closeStatus As WebSocketCloseStatus, statusDescription As String, cancellationToken As CancellationToken) As Task

パラメーター

closeStatus
WebSocketCloseStatus

閉じる操作のステータス コード。

statusDescription
String

閉じる操作のステータス メッセージ。

cancellationToken
CancellationToken

保留中の操作を取り消すオブジェクト。

戻り値

操作への参照。

例外

AspNetWebSocket オブジェクトが既に破棄されています。

AspNetWebSocket オブジェクトは中止状態にあります。

- または -

送信操作を利用できません。

- または -

受信操作は利用できません。

キャンセル トークンが取り消されました。 この例外は、返されたタスクに格納されます。

注釈

クライアントによって開始される CloseAsync 要求と CloseOutputAsync サーバーによって開始された要求の両方に および メソッドを使用して、接続を AspNetWebSocket 閉じます。 2 つのメソッドは、クライアントによって開始された要求を同じ方法で処理します。クライアントがサーバーにメッセージを送信して接続を閉じると、サーバーはこれらのメソッドのいずれかを呼び出して、クライアントに受信確認を送信し、メソッドが返します。

サーバーによって開始される要求の場合、2 つの方法の動作は異なります。 メソッドは CloseAsync 、クライアントにメッセージを送信して接続を閉じ、応答を待機してから、 を返します。 サーバーは、クライアントから送信された追加データを待機しません。 これに対し、 メソッドは CloseOutputAsync クライアントにメッセージを送信して接続を閉じ、応答を待たずに を返します。 メソッドが返されたら、 メソッドを ReceiveAsync 呼び出して、追加のデータまたはクライアントが送信する受信確認を処理できます。

適用対象