TsgcWebSocketClient › Olaylar › OnFragmented
Options.FragmentedMessages frgAll veya frgOnlyFragmented olduğunda alınan her parça için tetiklenir.
property OnFragmented: TsgcWSFragmentedEvent;
// TsgcWSFragmentedEvent = procedure(Connection: TsgcWSConnection; const Data: TMemoryStream; const OpCode: TOpCode; const Continuation: Boolean) of object
—
Varsayılan olarak (Options.FragmentedMessages = frgOnlyBuffer) istemci, bir mesajın parçalarını tamponlar ve tam yük alındığında OnMessage veya OnBinary tetikler. Parça başına yalnızca OnFragmented almak için özelliği frgOnlyFragmented olarak ayarlayın veya parça başına OnFragmented ve ardından mesaj tamamlandığında OnMessage/OnBinary almak için frgAll olarak ayarlayın. Data parametresi, geçerli parçanın baytlarına sahip bir TMemoryStream'dir, OpCode orijinal çerçeve türünü (text, binary, continuation...) gösterir ve Continuation, daha fazla parça beklenirken True ve son parçada False olur. Bu olay, büyük stream'lerin ilerlemesini raporlamak için yararlıdır.
procedure OnFragmented(Connection: TsgcWSConnection; const Data: TMemoryStream;
const OpCode: TOpCode; const Continuation: Boolean);
begin
ShowProgress(Data.Size);
if not Continuation then
SaveStream(Data);
end;