TsgcWebSocketProxyServer › Olaylar › OnFragmented

OnFragmented Olay

Bir downstream istemciden bir mesaj parçası alındığında tetiklenir (yalnızca Options.FragmentedMessages frgAll veya frgOnlyFragmented olduğunda).

Sözdizimi

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

Varsayılan Değer

—

Remarks

Varsayılan olarak (Options.FragmentedMessages = frgOnlyBuffer) proxy, bir aşağı akış mesajının parçalarını arabelleğe alır ve tam yük alındığında OnMessage veya OnBinary tetikler ve onu yukarı akışa iletir. Parça başına yalnızca OnFragmented almak için FragmentedMessages'ı 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 ise False'tur. Bu olay, proxy üzerinden geçirilen büyük yüklemelerin ilerlemesini bildirmek için kullanışlıdır.

Örnek


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

Olaylara Dön