TsgcWebSocketClientEvents › OnFragmented

OnFragmented Gebeurtenis

Wordt geactiveerd voor elk fragment dat wordt ontvangen wanneer Options.FragmentedMessages frgAll of frgOnlyFragmented is.

Syntaxis

__property TsgcWSFragmentedEvent OnFragmented;
// typedef void __fastcall (__closure *TsgcWSFragmentedEvent)(TsgcWSConnection * Connection, const TMemoryStream * Data, const TOpCode OpCode, const bool Continuation);

Standaardwaarde

Opmerkingen

Standaard (Options.FragmentedMessages = frgOnlyBuffer) buffert de client de fragmenten van een bericht en activeert OnMessage of OnBinary zodra de volledige payload is ontvangen. Stel de eigenschap in op frgOnlyFragmented om alleen OnFragmented per fragment te ontvangen, of op frgAll om OnFragmented per fragment te ontvangen en vervolgens OnMessage/OnBinary wanneer het bericht compleet is. De parameter Data is een TMemoryStream met de bytes van het huidige fragment, OpCode geeft het originele frametype aan (tekst, binair, vervolg...) en Continuation is True zolang er meer fragmenten worden verwacht en False bij het laatste fragment. Deze gebeurtenis is nuttig om de voortgang van grote streams te rapporteren.

Voorbeeld


void OnFragmented(TsgcWSConnection *Connection, const TMemoryStream *Data,
  const TOpCode OpCode, const bool Continuation)
{
  ShowProgress(Data->Size);
  if (Continuation == false)
    SaveStream(Data);
}

Terug naar Events