TsgcWebSocketServer_HTTPAPI › Events › OnFragmented
Wordt geactiveerd wanneer een fragment van een bericht wordt ontvangen (alleen wanneer Options.FragmentedMessages frgAll of frgOnlyFragmented is).
__property TsgcWSFragmentedEvent OnFragmented;
// typedef void __fastcall (__closure *TsgcWSFragmentedEvent)(TsgcWSConnection * Connection, const TMemoryStream * Data, const TOpCode OpCode, const bool Continuation);
—
Standaard (Options.FragmentedMessages = frgOnlyBuffer) buffert de server de fragmenten van een bericht en genereert OnMessage of OnBinary zodra de volledige payload is ontvangen. Stel FragmentedMessages in op frgOnlyFragmented om alleen OnFragmented per fragment te ontvangen, of op frgAll om OnFragmented per fragment te ontvangen en daarna OnMessage/OnBinary wanneer het bericht compleet is. De Data-parameter is een TMemoryStream met de bytes van het huidige fragment, OpCode geeft het originele frametype aan (tekst, binair, voortzetting...) en Continuation is True zolang meer fragmenten worden verwacht en False op het laatste fragment. Deze gebeurtenis is nuttig om de voortgang van grote uploads te rapporteren.
void OnFragmented(TsgcWSConnection *Connection, const TMemoryStream *Data,
const TOpCode OpCode, const bool Continuation)
{
ShowProgress(Data->Size);
if (Continuation == false)
SaveStream(Data);
}