TsgcWSPClient_WAMP › イベント › OnBinary
サーバーが、標準のWAMP v1テキストプロトコルの一部ではないバイナリWebSocketフレームを送信したときに発生します。
property OnBinary: TsgcWSBinaryEvent;
// TsgcWSBinaryEvent = procedure(Connection: TsgcWSConnection; const Data: TMemoryStream) of object
—
WAMP v1はJSON-over-textプロトコルであるため、バイナリフレームは仕様の一部ではありません。このハンドラは、サーバーがアプリケーション固有の理由(ファイル転送、カスタム拡張、帯域外テレメトリ)で送信する可能性のあるバイナリペイロードを表面化します。エントリ時のストリーム位置はゼロであり、バッファはコンポーネントが所有します。ハンドラが返る前に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;