TsgcWebSocketLoadBalancerServer › Ereignisse › OnClientMessage
Wird ausgelöst, wenn ein Text-Frame von einem nachgelagerten Client empfangen wird, bevor er an den ausgewählten Backend-Server weitergeleitet wird.
property OnClientMessage: TsgcWSLBServerMessageEvent;
// TsgcWSLBServerMessageEvent = procedure(Connection: TsgcWSConnection; Text: String; var Handled: Boolean) of object
—
OnClientMessage wird für jeden Text-WebSocket-Frame ausgelöst, der von einem balancierten Client auf seinem Weg zum Backend-Server empfangen wird. Connection identifiziert die Downstream-Client-Sitzung und Text enthält die dekodierte UTF-8-Nutzlast. Setzen Sie Handled auf True, um die Nachricht innerhalb des Load Balancers zu konsumieren (in diesem Fall erfolgt kein Relay zum Backend), typischerweise wenn der Load Balancer Steuernachrichten im Namen des Backends beantwortet oder ungültige Inhalte herausfiltert. Belassen Sie Handled auf False (Standard), damit der Load Balancer die Nachricht unverändert weiterleitet.
procedure OnClientMessage(Connection: TsgcWSConnection; Text: String;
var Handled: Boolean);
begin
// answer ping messages directly from the load balancer
if SameText(Text, 'ping') then
begin
Connection.WriteData('pong');
Handled := True;
end;
end;