TsgcWebSocketLoadBalancerServer › Événements › OnClientBinary
Déclenché lorsqu'une trame binaire est reçue d'un client en aval avant d'être transmise au serveur backend sélectionné.
property OnClientBinary: TsgcWSLBServerBinaryEvent;
// TsgcWSLBServerBinaryEvent = procedure(Connection: TsgcWSConnection; Data: TMemoryStream; var Handled: Boolean) of object
—
OnClientBinary est déclenché pour chaque trame WebSocket binaire reçue d'un client équilibré sur son chemin vers le serveur backend. Le paramètre Connection est la session cliente en aval et Data est la charge utile binaire (position 0, ne pas libérer). Définissez Handled sur True pour consommer la trame dans le répartiteur de charge et empêcher son relais vers le backend ; laissez-le sur False (valeur par défaut) pour que le répartiteur transmette la trame inchangée. C'est le bon endroit pour inspecter, auditer ou réécrire le trafic binaire, court-circuiter les messages de type contrôle de santé, ou supprimer les charges utiles qui ne devraient jamais atteindre les serveurs backend.
procedure OnClientBinary(Connection: TsgcWSConnection; Data: TMemoryStream;
var Handled: Boolean);
begin
// drop empty frames instead of forwarding them
Handled := Data.Size = 0;
end;