TsgcWebSocketLoadBalancerServer › Events › OnSSLGetHandler

OnSSLGetHandler Gebeurtenis

Geactiveerd vlak voordat de SSL-handler wordt aangemaakt zodat een aangepaste serverside-handler-instantie aan de load balancer kan worden geleverd.

Syntaxis

property OnSSLGetHandler: TsgcWSOnSSLGetHandler;
// TsgcWSOnSSLGetHandler = procedure(Sender: TObject; aType: TwsSSLHandler; var aSSLHandler: TIdServerIOHandlerSSLBase) of object

Standaardwaarde

—

Opmerkingen

OnSSLGetHandler wordt geactiveerd vlak voordat de load balancer de TLS IOHandler bouwt die voor SSL-bindings wordt gebruikt. Wijs aSSLHandler toe aan een instantie van uw eigen klasse die overerft van TIdServerIOHandlerSSLBase om de standaardhandler te vervangen, bijvoorbeeld om een gespecialiseerde OpenSSL- of SChannel-implementatie aan te sluiten. Laat aSSLHandler niet-toegewezen om de component de standaardhandler te laten aanmaken; in dat geval kan OnSSLAfterCreateHandler nog steeds worden gebruikt om eigenschappen na het aanmaken aan te passen. De component neemt eigenaarschap van de hier toegewezen handler en geeft deze vrij wanneer de server wordt vernietigd.

Wanneer IOHandlerOptions.IOHandlerType iohIOCP of iohEPOLL is, moet de handler die aan aSSLHandler wordt toegewezen erven van TsgcIdServerIOHandlerOpenSSLIOCP (IOCP) of TsgcIdServerIOHandlerOpenSSLEPOLL (EPOLL), omdat alleen deze handlers kunnen worden aangestuurd door de gebeurtenisgestuurde IO-engine. Met elke andere handler genereert de load balancer een uitzondering wanneer deze wordt gestart. De IOHandlerOptions-waarden, zoals threads, timeouts en TCPKeepAlive, worden op de handler toegepast voordat OnSSLAfterCreateHandler wordt geactiveerd, zodat waarden die in die gebeurtenis worden ingesteld voorrang krijgen. Als u slechts enkele eigenschappen van de standaardhandler wilt wijzigen, gebruik dan OnSSLAfterCreateHandler in plaats van de handler te vervangen.

Voorbeeld


procedure OnSSLGetHandler(Sender: TObject; aType: TwsSSLHandler;
  var aSSLHandler: TIdServerIOHandlerSSLBase);
begin
  aSSLHandler := TCustomServerSSLHandler.Create(nil);
  // ... configure handler properties
end;

Terug naar Events