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;

이벤트로 돌아가기