TsgcWSPServer_WebRTC › Eventi › OnFragmented
Generato per ogni frammento di un messaggio WebSocket multi-frame ricevuto da un peer 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 peer 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. Le normali buste di segnalazione (SDP, candidati ICE) rientrano in un singolo frame, quindi questo evento è normalmente silenzioso; diventa utile per l'analisi della larghezza di banda o quando un client personalizzato trasmette in streaming payload di grandi dimensioni non di segnalazione sullo stesso 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;