TsgcWebSocketLoadBalancerServer › Eventos › OnClientMessage
Se activa cuando se recibe un marco de texto de un cliente descendente antes de reenviarlo al servidor backend seleccionado.
property OnClientMessage: TsgcWSLBServerMessageEvent;
// TsgcWSLBServerMessageEvent = procedure(Connection: TsgcWSConnection; Text: String; var Handled: Boolean) of object
—
OnClientMessage se activa para cada trama WebSocket de texto recibida de un cliente balanceado en su camino hacia el servidor backend. Connection identifica la sesión del cliente descendente y Text transporta la carga útil UTF-8 decodificada. Establezca Handled en True para consumir el mensaje dentro del balanceador de carga (en ese caso no se retransmite al backend), habitualmente cuando el balanceador responde a mensajes de control en nombre del backend o filtra contenido no válido. Deje Handled en False (por defecto) para que el balanceador reenvíe el mensaje sin cambios.
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;