TsgcWebSocketLoadBalancerServerZdarzenia › OnClientMessage

OnClientMessage Zdarzenie

Wywoływane po odebraniu ramki tekstowej od klienta downstream, przed jej przekazaniem do wybranego serwera backend.

Składnia

property OnClientMessage: TsgcWSLBServerMessageEvent;
// TsgcWSLBServerMessageEvent = procedure(Connection: TsgcWSConnection; Text: String; var Handled: Boolean) of object

Wartość domyślna

Uwagi

Zdarzenie OnClientMessage jest wywoływane dla każdej tekstowej ramki WebSocket odebranej od zrównoważonego klienta w drodze do serwera backendowego. Connection identyfikuje sesję klienta podrzędnego, a Text zawiera zdekodowany ładunek UTF-8. Ustawienie Handled na True powoduje skonsumowanie wiadomości wewnątrz modułu równoważenia obciążenia (w takim przypadku wiadomość nie jest przekazywana do backendu), co jest przydatne, gdy moduł równoważenia obciążenia odpowiada na wiadomości sterujące w imieniu backendu lub filtruje nieprawidłową treść. Pozostawienie Handled jako False (domyślnie) powoduje przekazanie wiadomości bez zmian.

Przykład


procedure OnClientMessage(Connection: TsgcWSConnection; Text: String;
  var Handled: Boolean);
begin
  // answer ping messages directly from the load balancer
  if SameText(Text, 'ping') then
  begin
    Connection.WriteData('pong');
    Handled := True;
  end;
end;

Powrót do Zdarzeń