TsgcWebSocketLoadBalancerServer › Ereignisse › OnClientBinary
Wird ausgelöst, wenn ein Binär-Frame von einem nachgelagerten Client empfangen wird, bevor er an den ausgewählten Backend-Server weitergeleitet wird.
property OnClientBinary: TsgcWSLBServerBinaryEvent;
// TsgcWSLBServerBinaryEvent = procedure(Connection: TsgcWSConnection; Data: TMemoryStream; var Handled: Boolean) of object
—
OnClientBinary wird für jeden binären WebSocket-Frame ausgelöst, der von einem balancierten Client empfangen wird, auf seinem Weg zum Backend-Server. Der Connection-Parameter ist die nachgelagerte Client-Sitzung und Data ist die binäre Payload (Position 0, nicht freigeben). Setzen Sie Handled auf True, um den Frame im Load Balancer zu konsumieren und zu verhindern, dass er an das Backend weitergeleitet wird; lassen Sie es False (Standard), damit der Load Balancer den Frame unverändert weiterleitet. Dies ist der richtige Ort, um binären Datenverkehr zu inspizieren, zu protokollieren oder umzuschreiben, Health-Check-artige Nachrichten kurzzuschließen oder Payloads zu verwerfen, die niemals Backend-Server erreichen sollten.
procedure OnClientBinary(Connection: TsgcWSConnection; Data: TMemoryStream;
var Handled: Boolean);
begin
// drop empty frames instead of forwarding them
Handled := Data.Size = 0;
end;