TsgcHTTPServer › イベント › OnDisconnect
クライアント接続が切断されるたびに発生します。
property OnDisconnect: TsgcWSDisconnectEvent;
// TsgcWSDisconnectEvent = procedure(Connection: TsgcWSConnection; Code: Integer) of object
—
OnDisconnect は、アプリケーションが Disconnect または DisconnectAll を呼び出した場合、クライアントが接続を閉じた場合、または TCP ソケットが予期せずドロップされた場合など、アクティブなクライアント接続が終了するたびに発生します。Code パラメーターは、共有 sgc サーバーエンジン全体で使用される数値のクローズコード(正常なクロージャの場合は 1000、異常なドロップの場合は 1006)を保持します。TsgcHTTPServer は WebSocket のクローズハンドシェイクを一切行わないため、このコードはクライアントとネゴシエートされた値ではなく、接続がどのように終了したかを反映します。このイベントが返った後、Connection オブジェクトはデータ送信に無効となるため、その Guid に関連付けたセッションごとのリソースを解放してください。
procedure OnDisconnect(Connection: TsgcWSConnection; Code: Integer);
begin
Log(Format('Client %s disconnected (code %d)', [Connection.Guid, Code]));
end;