TsgcWebSocketLoadBalancerServerイベント › OnClientConnect

OnClientConnect イベント

ダウンストリームクライアントがロードバランサーに対してWebSocketハンドシェイクを完了し、バックエンドサーバーと対になったときに発生します。

構文

property OnClientConnect: TsgcWSLBClientConnectionEvent;
// TsgcWSLBClientConnectionEvent = procedure(ServerConnection: TsgcWSConnection; ClientConnection: TsgcWSLoadBalancerClientConnection) of object

デフォルト値

解説

OnClientConnect は、クライアントセッションが受け入れられ、登録されたバックエンドの 1 つにルーティングされるたびに発生します。ServerConnection はフォワードされたトラフィックを受け取るバックエンドの TsgcWSConnection で、ClientConnection はダウンストリームセッションをラップしてクライアントのメタデータ(Guid、PeerIP、プロトコル、バインディング、選択されたサーバー)を公開する TsgcWSLoadBalancerClientConnection です。このイベントを使用してクライアントからバックエンドへの割り当てをログに記録したり、ダッシュボードを構築したり、セッションマップを設定したりします。このイベントは OnConnect とは別物で、OnConnect は HTTP サーバーから継承されソケットレベルで受け入れられた接続に対して発生します。

使用例


procedure OnClientConnect(ServerConnection: TsgcWSConnection;
  ClientConnection: TsgcWSLoadBalancerClientConnection);
begin
  Log(Format('Client %s routed to backend %s',
    [ClientConnection.Guid, ServerConnection.Guid]));
end;

イベントに戻る