TsgcWebSocketClient事件 › 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;

返回事件