TsgcWebSocketServer › Olaylar › OnFragmented
Bir mesajın bir parçası alındığında tetiklenir (yalnızca Options.FragmentedMessages frgAll veya frgOnlyFragmented olduğunda).
property OnFragmented: TsgcWSFragmentedEvent;
// TsgcWSFragmentedEvent = procedure(Connection: TsgcWSConnection; const Data: TMemoryStream; const OpCode: TOpCode; const Continuation: Boolean) of object
—
Varsayılan olarak (Options.FragmentedMessages = frgOnlyBuffer) sunucu, bir mesajın parçalarını arabelleğe alır ve tam yük alındığında OnMessage veya OnBinary olayını tetikler. Parça başına yalnızca OnFragmented almak için FragmentedMessages değerini 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ını içeren bir TMemoryStream'dir, OpCode orijinal çerçeve türünü (metin, ikili, devam...) gösterir ve Continuation daha fazla parça beklenirken True, son parçada False olur. Bu olay büyük yüklemelerin ilerlemesini raporlamak için kullanışlı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;