TsgcWSPServer_WebRTC › Événements › OnFragmented
Se déclenche pour chaque fragment d'un message WebSocket multi-trames reçu d'un pair avant que la charge utile ne 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 pair 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) de la première trame et Continuation est True pour chaque fragment après le premier. Les enveloppes de signalisation ordinaires (SDP, candidats ICE) tiennent dans une seule trame, donc cet événement est normalement silencieux ; il devient utile pour l'analyse de la bande passante ou lorsqu'un client personnalisé diffuse de grandes charges utiles non-signalisation sur le même socket.
procedure TForm1.WebRTCServerFragmented(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;