TsgcWebSocketLoadBalancerServer › Ereignisse › OnBinary
Wird ausgelöst, wenn der Load Balancer selbst einen binären WebSocket-Frame auf einer seiner Downstream-Sitzungen empfängt.
property OnBinary: TsgcWSBinaryEvent;
// TsgcWSBinaryEvent = procedure(Connection: TsgcWSConnection; const Data: TMemoryStream) of object
—
OnBinary wird vom zugrunde liegenden HTTP/WebSocket-Server geerbt und ausgelöst, wenn ein vollständiger Binär-Frame auf einer Verbindung empfangen wird, die vom Load Balancer terminiert wird (zum Beispiel eine Verbindung, die nicht weitergeleitet wurde, weil kein Backend verfügbar war, oder eine, die an ein direkt vom LoadBalancer behandeltes Protokoll angehängt ist). Der Data-Stream enthält die Payload und seine Position ist 0; lesen Sie ihn einmal und geben Sie ihn nicht frei, der Server besitzt den Puffer. Für Daten, die auf Verbindungen ankommen, die zu einem Backend-Server proxyt werden, verwenden Sie stattdessen OnClientBinary, das den Frame pro Client bereitstellt, bevor er weitergeleitet wird.
procedure OnBinary(Connection: TsgcWSConnection; const Data: TMemoryStream);
begin
Log(Format('Received %d bytes from %s', [Data.Size, Connection.Guid]));
end;