TsgcWebSocketServer_HTTPAPIÉvénements › OnFragmented

OnFragmented Événement

Se déclenche lorsqu'un fragment de message est reçu (uniquement lorsque Options.FragmentedMessages est frgAll ou frgOnlyFragmented).

Syntaxe

property OnFragmented: TsgcWSFragmentedEvent;
// TsgcWSFragmentedEvent = procedure(Connection: TsgcWSConnection; const Data: TMemoryStream; const OpCode: TOpCode; const Continuation: Boolean) of object

Valeur par défaut

Remarques

Par défaut (Options.FragmentedMessages = frgOnlyBuffer), le serveur met en mémoire tampon les fragments d'un message et déclenche OnMessage ou OnBinary dès que la charge utile complète a été reçue. Définissez FragmentedMessages sur frgOnlyFragmented pour ne recevoir que OnFragmented par fragment, ou sur frgAll pour recevoir OnFragmented par fragment puis OnMessage/OnBinary lorsque le message est complet. Le paramètre Data est un TMemoryStream contenant les octets du fragment courant, OpCode indique le type de trame original (texte, binaire, continuation…) et Continuation est True tant que d'autres fragments sont attendus et False sur le fragment final. Cet événement est utile pour signaler la progression de grands téléchargements.

Exemple


procedure OnFragmented(Connection: TsgcWSConnection; const Data: TMemoryStream;
  const OpCode: TOpCode; const Continuation: Boolean);
begin
  ShowProgress(Data.Size);
  if not Continuation then
    SaveStream(Data);
end;

Retour aux événements