TsgcWebSocketLoadBalancerServer › Zdarzenia › OnFragmented
Wywoływane, gdy moduł równoważenia obciążenia odbierze pofragmentowaną ramkę WebSocket w jednej ze swoich własnych sesji.
property OnFragmented: TsgcWSFragmentedEvent;
// TsgcWSFragmentedEvent = procedure(Connection: TsgcWSConnection; const Data: TMemoryStream; const OpCode: TOpCode; const Continuation: Boolean) of object
—
OnFragmented jest dziedziczone z bazowego serwera HTTP/WebSocket i jest wywoływane dla każdej pofragmentowanej ramki odebranej na połączeniu zakończonym bezpośrednio przez moduł równoważenia obciążenia. Data to ładunek fragmentu, OpCode identyfikuje, czy oryginalna wiadomość jest tekstowa czy binarna, a Continuation ma wartość True dla każdego fragmentu po pierwszym. Należy włączyć to zdarzenie przez Options.FragmentedMessages. Dla fragmentów odbieranych w sesjach przekazywanych do backendu należy zamiast tego obsługiwać OnClientFragmented, które udostępnia również flagę Handled używaną przez moduł przekazywania.
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;