TsgcWebSocketLoadBalancerServer › Eventos › OnClientConnect
Disparado quando um cliente downstream conclui o handshake WebSocket com o balanceador de carga e é emparelhado com um servidor backend.
property OnClientConnect: TsgcWSLBClientConnectionEvent;
// TsgcWSLBClientConnectionEvent = procedure(ServerConnection: TsgcWSConnection; ClientConnection: TsgcWSLoadBalancerClientConnection) of object
—
OnClientConnect é gerado toda vez que uma sessão de cliente é aceita e roteada para um dos backends registrados. ServerConnection é o TsgcWSConnection do backend que receberá o tráfego encaminhado, enquanto ClientConnection é o TsgcWSLoadBalancerClientConnection que envolve a sessão downstream e expõe os metadados do cliente (Guid, PeerIP, protocolo, binding, servidor selecionado). Utilize o evento para registrar as atribuições de cliente para backend, construir dashboards ou popular um mapa de sessões. O evento é distinto de OnConnect, que é herdado do servidor HTTP e é disparado para qualquer conexão aceita no nível do socket.
procedure OnClientConnect(ServerConnection: TsgcWSConnection;
ClientConnection: TsgcWSLoadBalancerClientConnection);
begin
Log(Format('Client %s routed to backend %s',
[ClientConnection.Guid, ServerConnection.Guid]));
end;