TsgcWSPClient_WAMP › Events › OnBinary
当服务器发送不属于标准 WAMP v1 文本协议的二进制 WebSocket 帧时触发。
property OnBinary: TsgcWSBinaryEvent;
// TsgcWSBinaryEvent = procedure(Connection: TsgcWSConnection; const Data: TMemoryStream) of object
—
WAMP v1 是基于文本的 JSON 协议,因此二进制帧不是规范的一部分。此处理程序显示服务器出于应用特定原因(文件传输、自定义扩展、带外遥测)可能发送的任何二进制负载。流位置在入口处为零,缓冲区归组件所有——在处理程序返回之前,请将字节从 Data 中复制出来。
procedure TForm1.WAMPBinary(Connection: TsgcWSConnection;
const Data: TMemoryStream);
var
vBytes: TBytes;
begin
SetLength(vBytes, Data.Size);
Data.ReadBuffer(vBytes[0], Data.Size);
Memo1.Lines.Add(Format('binary frame: %d bytes', [Length(vBytes)]));
end;