TsgcWebSocketServer_HTTPAPI › イベント › OnBinary
クライアントがバイナリメッセージを送信してサーバーが受信するたびに発生します。
property OnBinary: TsgcWSBinaryEvent;
// TsgcWSBinaryEvent = procedure(Connection: TsgcWSConnection; const Data: TMemoryStream) of object
—
OnBinary は、クライアントからの完全なバイナリペイロードが受信されバッファリングされた後に発生します。Data パラメータはデコードされたバイトを位置 0 の TMemoryStream として公開します。ストリームはサーバーが所有し、ハンドラーが戻った後に無効になるため、ハンドラー内で読み取ります。イベントは受信した HTTP.SYS WebSocket フレームを処理した IOCP ワーカースレッドで実行されます。UI コントロールにアクセスする前にメインスレッドにマーシャリングします。Options.FragmentedMessages が frgOnlyFragmented の場合、このイベントは発生せず代わりに OnFragmented が使用されます。
procedure OnBinary(Connection: TsgcWSConnection; const Data: TMemoryStream);
var
oBitmap: TBitmap;
begin
oBitmap := TBitmap.Create;
try
oBitmap.LoadFromStream(Data);
Image1.Picture.Assign(oBitmap);
finally
FreeAndNil(oBitmap);
end;
end;