TsgcWebSocketClient › イベント › OnBinary
サーバーがクライアントにバイナリメッセージを送信するたびに発生します。
property OnBinary: TsgcWSBinaryEvent;
// TsgcWSBinaryEvent = procedure(Connection: TsgcWSConnection; const Data: TMemoryStream) of object
—
OnBinary は完全なバイナリペイロードが受信されバッファリングされると発生します。Data パラメータはデコードされたバイトを 0 位置の TMemoryStream として公開します。ハンドラーが返った後はストリームが無効になるため、すぐに読み取ってください。デフォルトでは NotifyEvents は neAsynchronous であるため、OnBinary はメインスレッドと同期され、ハンドラーから UI コントロールを安全に更新できます。同期を避けてスレッドセーフを自己管理する場合は neNoSync に切り替えてください。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;