TsgcWSPClient_WAMP › 事件 › 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.WAMPFragmented(Connection: TsgcWSConnection;
const Data: TMemoryStream; const OpCode: TOpCode;
const Continuation: Boolean);
begin
Memo1.Lines.Add(Format('fragment: %d bytes (continuation=%s)',
[Data.Size, BoolToStr(Continuation, True)]));
end;