TsgcWSPServer_WAMP › Events › 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;