TsgcWebSocketServer_HTTPAPI › Olaylar › OnBinary
Bir istemci her ikili mesaj gönderdiğinde ve sunucu tarafından alındığında tetiklenir.
property OnBinary: TsgcWSBinaryEvent;
// TsgcWSBinaryEvent = procedure(Connection: TsgcWSConnection; const Data: TMemoryStream) of object
—
OnBinary, bir istemciden tam bir ikili yük alındıktan ve arabelleğe alındıktan sonra tetiklenir. Data parametresi, çözülmüş baytları 0 konumunda bulunan bir TMemoryStream olarak sunar; stream sunucuya ait olduğundan ve işleyici döndükten sonra geçersiz hale geldiğinden, onu işleyicinin içinde okuyun. Olay, gelen HTTP.SYS WebSocket çerçevesini işleyen IOCP worker iş parçacığında çalışır, bu nedenle UI kontrollerine dokunmadan önce ana iş parçacığına yönlendirin. Options.FragmentedMessages frgOnlyFragmented ise olay tetiklenmez ve bunun yerine OnFragmented kullanılır.
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;