TsgcWebSocketLoadBalancerServerZdarzenia › OnClientFragmented

OnClientFragmented Zdarzenie

Wywoływane po odebraniu sfragmentowanej binarnej ramki od klienta poniżej, przed jej przekazaniem do serwera backendu.

Składnia

property OnClientFragmented: TsgcWSLBServerBinaryEvent;
// TsgcWSLBServerBinaryEvent = procedure(Connection: TsgcWSConnection; Data: TMemoryStream; var Handled: Boolean) of object

Wartość domyślna

Uwagi

Zdarzenie OnClientFragmented jest wywoływane za każdym razem, gdy load balancer odbiera sfragmentowaną wiadomość WebSocket od klienta (włączone przez Options.FragmentedMessages na serwerze podrzędnym). Connection to sesja downstream, a Data zawiera ładunek dla bieżącego fragmentu. Ustawienie parametru Handled na True powoduje przechwycenie fragmentu przez load balancer i zatrzymanie jego przekazywania do backendu; pozostawienie wartości False sprawia, że load balancer przekazuje fragment bez zmian. Typowym zastosowaniem jest lekka inspekcja lub filtrowanie bardzo dużych przesyłek bez konieczności ponownego składania całej wiadomości.

Przykład


procedure OnClientFragmented(Connection: TsgcWSConnection; Data: TMemoryStream;
  var Handled: Boolean);
begin
  Log(Format('Fragment %d bytes from %s', [Data.Size, Connection.Guid]));
  Handled := False;
end;

Powrót do Zdarzeń