TsgcWebSocketLoadBalancerServer › Olaylar › OnClientMessage
Bir metin çerçevesi aşağı akış istemciden alındığında ve seçilen arka uç sunucusuna iletilmeden önce tetiklenir.
property OnClientMessage: TsgcWSLBServerMessageEvent;
// TsgcWSLBServerMessageEvent = procedure(Connection: TsgcWSConnection; Text: String; var Handled: Boolean) of object
—
OnClientMessage, dengelenmiş bir istemciden backend sunucusuna giderken alınan her metin WebSocket çerçevesi için tetiklenir. Connection, aşağı yönlü istemci oturumunu tanımlar ve Text, çözülmüş UTF-8 yükünü taşır. Mesajı yük dengeleyici içinde tüketmek için Handled değerini True olarak ayarlayın (bu durumda backend'e aktarma olmaz), genellikle yük dengeleyici backend adına kontrol mesajlarını yanıtladığında veya geçersiz içeriği filtrelediğinde. Yük dengeleyicinin mesajı değiştirmeden iletmesine izin vermek için Handled değerini False (varsayılan) bırakın.
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;