TsgcWebSocketLoadBalancerServer › Zdarzenia › OnClientMessage
Wywoływane po odebraniu ramki tekstowej od klienta downstream, przed jej przekazaniem do wybranego serwera backend.
property OnClientMessage: TsgcWSLBServerMessageEvent;
// TsgcWSLBServerMessageEvent = procedure(Connection: TsgcWSConnection; Text: String; var Handled: Boolean) of object
—
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.
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;