TsgcWebSocketLoadBalancerServerEventos › OnClientMessage

OnClientMessage Event

Disparado quando um frame de texto é recebido de um cliente downstream antes de ser encaminhado ao servidor de backend selecionado.

Sintaxe

property OnClientMessage: TsgcWSLBServerMessageEvent;
// TsgcWSLBServerMessageEvent = procedure(Connection: TsgcWSConnection; Text: String; var Handled: Boolean) of object

Valor Padrão

Observações

OnClientMessage é gerado para cada frame WebSocket de texto recebido de um cliente balanceado a caminho do servidor backend. Connection identifica a sessão do cliente downstream e Text carrega o payload UTF-8 decodificado. Defina Handled como True para consumir a mensagem dentro do balanceador de carga (nesse caso não ocorre nenhum relay para o backend), normalmente quando o balanceador de carga responde a mensagens de controle em nome do backend ou filtra conteúdo inválido. Deixe Handled como False (padrão) para que o balanceador de carga encaminhe a mensagem inalterada.

Exemplo


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;

Voltar para Eventos