TsgcWSPServer_WAMP › Événements › OnFragmented
Se déclenche pour chaque fragment d'un message WebSocket multi-trame reçu d'un client avant que la charge utile soit réassemblée.
property OnFragmented: TsgcWSFragmentedEvent;
// TsgcWSFragmentedEvent = procedure(Connection: TsgcWSConnection; const Data: TMemoryStream; const OpCode: TOpCode; const Continuation: Boolean) of object
—
Crochet de diagnostic de bas niveau utilisé lorsqu'un client transmet de grandes charges utiles sur plusieurs trames WebSocket. Data est le tampon pour le fragment actuel, OpCode contient le type d'origine (texte ou binaire) du premier fragment, et Continuation est True pour chaque fragment après le premier. Le trafic WAMP ordinaire tient dans une seule trame, donc cet événement est normalement silencieux ; il devient utile lors de la négociation de charges utiles en streaming ou pour l'analyse de bande passante lors du débogage de protocole.
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;