TsgcWebSocketLoadBalancerServer › Ereignisse › OnClientConnect
Wird ausgelöst, wenn ein Downstream-Client den WebSocket-Handshake mit dem Load Balancer abschließt und mit einem Backend-Server gepaart wird.
property OnClientConnect: TsgcWSLBClientConnectionEvent;
// TsgcWSLBClientConnectionEvent = procedure(ServerConnection: TsgcWSConnection; ClientConnection: TsgcWSLoadBalancerClientConnection) of object
—
OnClientConnect wird jedes Mal ausgelöst, wenn eine Client-Sitzung akzeptiert und an eines der registrierten Backends weitergeleitet wird. ServerConnection ist die Backend-TsgcWSConnection, die den weitergeleiteten Verkehr empfängt, während ClientConnection die TsgcWSLoadBalancerClientConnection ist, die die Downstream-Sitzung umschließt und Client-Metadaten (Guid, PeerIP, Protokoll, Bindung, ausgewählter Server) bereitstellt. Verwenden Sie das Ereignis, um Client-zu-Backend-Zuweisungen zu protokollieren, Dashboards zu erstellen oder eine Sitzungskarte zu befüllen. Das Ereignis unterscheidet sich von OnConnect, das vom HTTP-Server geerbt wird und für jede auf Socket-Ebene akzeptierte Verbindung ausgelöst wird.
procedure OnClientConnect(ServerConnection: TsgcWSConnection;
ClientConnection: TsgcWSLoadBalancerClientConnection);
begin
Log(Format('Client %s routed to backend %s',
[ClientConnection.Guid, ServerConnection.Guid]));
end;