TsgcWebSocketServerイベント › OnBinary

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;

イベントに戻る