TsgcWSPServer_WebRTCEvents › OnFragmented

OnFragmented イベント

複数フレームの WebSocket メッセージの各フラグメントがピアから受信されるときに発火します。ペイロードが再組み立てされる前です。

構文

property OnFragmented: TsgcWSFragmentedEvent;
// TsgcWSFragmentedEvent = procedure(Connection: TsgcWSConnection; const Data: TMemoryStream; const OpCode: TOpCode; const Continuation: Boolean) of object

デフォルト値

解説

ピアが複数のWebSocketフレームにまたがって大きなペイロードを送信するときに使用される低レベル診断フック。Data は現在のフラグメントのバッファ、OpCode は最初のフラグメントからの元の種類(テキストまたはバイナリ)、Continuation は最初のフラグメント以降のすべてのフラグメントに対して True です。通常のシグナリングエンベロープ(SDP、ICE候補)は1つのフレームに収まるため、このイベントは通常サイレントです。帯域幅分析や、カスタムクライアントが同じソケット上で大きな非シグナリングペイロードをストリーミングする場合に便利です。

使用例


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;

イベントに戻る