TsgcWebSocketLoadBalancerServer › イベント › OnClientDisconnect
ダウンストリームのクライアントセッションがロードバランサーからドロップされたときに発火します。クライアントが離脱したか、バックエンドがセッションを終了したためです。
property OnClientDisconnect: TsgcWSLBClientConnectionEvent;
// TsgcWSLBClientConnectionEvent = procedure(ServerConnection: TsgcWSConnection; ClientConnection: TsgcWSLoadBalancerClientConnection) of object
—
OnClientDisconnectはOnClientConnectとミラー関係にあり、バックエンドサーバーとペアリングされていたクライアントがロードバランサーの内部テーブルから削除されたときに発生します。ServerConnectionはそのクライアントを処理していたバックエンドを識別し、ClientConnectionは解放されたTsgcWSLoadBalancerClientConnectionを公開するため、ハンドラーはメトリクスの更新、依存リソースのクローズ、または外部ダッシュボードからのセッション登録解除を行えます。イベントが返った後、接続オブジェクトはトラフィックのルーティングに使用されなくなります。
procedure OnClientDisconnect(ServerConnection: TsgcWSConnection;
ClientConnection: TsgcWSLoadBalancerClientConnection);
begin
Log('Client disconnected: ' + ClientConnection.Guid);
end;