TsgcWebSocketHTTPServer이벤트 › OnBinary

OnBinary 이벤트

클라이언트가 바이너리 메시지를 보내고 서버가 이를 수신할 때마다 발생합니다.

구문

property OnBinary: TsgcWSBinaryEvent;
// TsgcWSBinaryEvent = procedure(Connection: TsgcWSConnection; const Data: TMemoryStream) of object

기본값

설명

OnBinary는 WebSocket 클라이언트로부터 전체 바이너리 페이로드가 수신되고 버퍼링되면 발생합니다. 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;

이벤트로 돌아가기