TsgcWSPServer_WAMP › Events › OnFragmented
Si attiva per ogni frammento di un messaggio WebSocket multi-frame ricevuto da un client prima che il payload venga riassemblato.
property OnFragmented: TsgcWSFragmentedEvent;
// TsgcWSFragmentedEvent = procedure(Connection: TsgcWSConnection; const Data: TMemoryStream; const OpCode: TOpCode; const Continuation: Boolean) of object
—
Hook diagnostico di basso livello utilizzato quando un client trasmette payload di grandi dimensioni su più frame WebSocket. Data è il buffer del frammento corrente, OpCode contiene il tipo originale (testo o binario) del primo frammento e Continuation è True per ogni frammento successivo al primo. Il traffico WAMP ordinario rientra in un singolo frame, quindi questo evento normalmente rimane silente; diventa utile durante la negoziazione di payload in streaming o per l'analisi della larghezza di banda nel debug del protocollo.
procedure TForm1.WAMPServerFragmented(Connection: TsgcWSConnection;
const Data: TMemoryStream; const OpCode: TOpCode;
const Continuation: Boolean);
begin
Memo1.Lines.Add(Format('[%s] fragment: %d bytes (continuation=%s)',
[Connection.Guid, Data.Size, BoolToStr(Continuation, True)]));
end;