TsgcWebSocketLoadBalancerServer › Eventi › OnFragmented
Si attiva quando il load balancer riceve un frame WebSocket frammentato su una delle proprie sessioni.
property OnFragmented: TsgcWSFragmentedEvent;
// TsgcWSFragmentedEvent = procedure(Connection: TsgcWSConnection; const Data: TMemoryStream; const OpCode: TOpCode; const Continuation: Boolean) of object
—
OnFragmented è ereditato dal server HTTP/WebSocket sottostante e viene generato per ogni frame frammentato ricevuto su una connessione terminata direttamente dal load balancer. Data è il payload del frammento, OpCode identifica se il messaggio originale è testo o binario, e Continuation è True per ogni frammento successivo al primo. Abilitare questo evento tramite Options.FragmentedMessages. Per i frammenti ricevuti su sessioni che vengono inoltrate a un backend, gestire invece OnClientFragmented, che espone anche il flag Handled utilizzato dal forwarder.
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;