TsgcWebSocketLoadBalancerServer › Events › OnFragmented
Dispara quando o load balancer recebe um frame WebSocket fragmentado em uma de suas próprias sessões.
property OnFragmented: TsgcWSFragmentedEvent;
// TsgcWSFragmentedEvent = procedure(Connection: TsgcWSConnection; const Data: TMemoryStream; const OpCode: TOpCode; const Continuation: Boolean) of object
—
OnFragmented é herdado do servidor HTTP/WebSocket subjacente e é gerado para cada frame fragmentado recebido em uma conexão terminada diretamente pelo balanceador de carga. Data é o payload do fragmento, OpCode identifica se a mensagem original é texto ou binária, e Continuation é True para cada fragmento após o primeiro. Habilite este evento por meio de Options.FragmentedMessages. Para fragmentos recebidos em sessões que estão sendo encaminhadas a um backend, manipule OnClientFragmented em vez disso, que também expõe o flag Handled usado pelo encaminhador.
procedure OnFragmented(Connection: TsgcWSConnection; const Data: TMemoryStream;
const OpCode: TOpCode; const Continuation: Boolean);
begin
Log(Format('Fragment: op=%d cont=%s size=%d',
[Ord(OpCode), BoolToStr(Continuation, True), Data.Size]));
end;