TsgcWSPServer_WAMPEvents › 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 になります。通常の WAMP トラフィックは単一のフレームに収まるため、このイベントは通常発火しません。ストリーミングペイロードのネゴシエーションやプロトコルデバッグ時の帯域幅分析に役立ちます。

使用例


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;

イベントに戻る