TsgcWebSocketLoadBalancerServer › Eventos › OnClientBinary
Disparado quando um frame binário é recebido de um cliente downstream antes de ser encaminhado ao servidor backend selecionado.
property OnClientBinary: TsgcWSLBServerBinaryEvent;
// TsgcWSLBServerBinaryEvent = procedure(Connection: TsgcWSConnection; Data: TMemoryStream; var Handled: Boolean) of object
—
OnClientBinary é gerado para cada frame WebSocket binário recebido de um cliente balanceado a caminho do servidor de backend. O parâmetro Connection é a sessão do cliente downstream e Data é o payload binário (posição 0, não liberar). Defina Handled como True para consumir o frame no balanceador de carga e impedir que ele seja retransmitido ao backend; deixe como False (padrão) para que o balanceador de carga encaminhe o frame inalterado. Este é o lugar certo para inspecionar, auditar ou reescrever o tráfego binário, para encurtar mensagens do tipo health-check ou para descartar payloads que nunca devem chegar aos servidores de backend.
procedure OnClientBinary(Connection: TsgcWSConnection; Data: TMemoryStream;
var Handled: Boolean);
begin
// drop empty frames instead of forwarding them
Handled := Data.Size = 0;
end;