TsgcWebSocketHTTPServer › 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 WebSocket istemcisinden tam bir ikili yük alınıp arabelleğe alındığında tetiklenir. Data parametresi, decode edilmiş baytları 0 konumunda bir TMemoryStream olarak sunar; stream sunucuya ait olduğu ve işleyici döndükten sonra geçersiz hale geldiği için onu işleyici içinde okuyun. Varsayılan olarak NotifyEvents neAsynchronous'tır, bu yüzden OnBinary ana iş parçacığıyla senkronize edilir ve UI kontrollerine dokunmak güvenlidir; verim önemli olduğunda bağlantı iş parçacığında dağıtmak için neNoSync'e geçin. 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;