TsgcWebSocketServer_HTTPAPI › Gebeurtenissen › OnBinary
Wordt telkens geactiveerd wanneer een client een binair bericht verzendt en dit door de server wordt ontvangen.
__property TsgcWSBinaryEvent OnBinary;
// typedef void __fastcall (__closure *TsgcWSBinaryEvent)(TsgcWSConnection * Connection, const TMemoryStream * Data);
—
OnBinary wordt geactiveerd zodra een volledige binaire payload is ontvangen en gebufferd van een client. De parameter Data geeft de gedecodeerde bytes weer als een TMemoryStream gepositioneerd op 0; lees het in de handler want de stream is eigendom van de server en wordt ongeldig nadat de handler terugkeert. Het evenement wordt uitgevoerd op de IOCP-werkthread die het binnenkomende HTTP.SYS WebSocket-frame heeft verwerkt; marshal naar de hoofdthread vóór aanraking van UI-controls. Als Options.FragmentedMessages frgOnlyFragmented is, wordt het evenement niet geactiveerd en wordt OnFragmented gebruikt in plaats hiervan.
void OnBinary(TsgcWSConnection *Connection, const TMemoryStream *Data)
{
TBitmap *oBitmap = new TBitmap();
oBitmap->LoadFromStream(Data);
Image1->Picture->Assign(oBitmap);
delete oBitmap;
}