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;

返回事件