TsgcWebSocketHTTPServer › Eventi › OnBinary
Si attiva ogni volta che un client invia un messaggio binario e questo viene ricevuto dal server.
property OnBinary: TsgcWSBinaryEvent;
// TsgcWSBinaryEvent = procedure(Connection: TsgcWSConnection; const Data: TMemoryStream) of object
—
OnBinary viene generato una volta che un payload binario completo è stato ricevuto e bufferizzato da un client WebSocket. Il parametro Data espone i byte decodificati come TMemoryStream posizionato a 0; leggerlo all'interno del gestore perché lo stream è di proprietà del server e diventa non valido dopo il ritorno del gestore. Per impostazione predefinita NotifyEvents è neAsynchronous, quindi OnBinary è sincronizzato con il thread principale ed è sicuro accedere ai controlli UI; passare a neNoSync per il dispatching sul thread di connessione quando le prestazioni sono importanti. Se Options.FragmentedMessages è frgOnlyFragmented, l'evento non viene generato e viene utilizzato invece 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;