TsgcWebSocketLoadBalancerServer › Olaylar › OnSSLGetHandler
SSL işleyicisi oluşturulmadan önce tetiklenir, böylece yük dengeleyiciye özel bir sunucu tarafı işleyici örneği sağlanabilir.
property OnSSLGetHandler: TsgcWSOnSSLGetHandler;
// TsgcWSOnSSLGetHandler = procedure(Sender: TObject; aType: TwsSSLHandler; var aSSLHandler: TIdServerIOHandlerSSLBase) of object
—
OnSSLGetHandler, yük dengeleyici SSL bağlamaları için kullanılan TLS IOHandler'ı oluşturmadan hemen önce tetiklenir. Varsayılan işleyiciyi değiştirmek için aSSLHandler'ı, TIdServerIOHandlerSSLBase'den türetilmiş kendi sınıfınızın bir örneğine atayın; örneğin özel bir OpenSSL veya SChannel uygulaması eklemek için. Bileşenin varsayılan işleyiciyi oluşturmasına izin vermek için aSSLHandler'ı atanmamış bırakın; bu durumda oluşturulduktan sonra özellikleri ayarlamak için OnSSLAfterCreateHandler hala kullanılabilir. Bileşen, burada atanan işleyicinin sahipliğini üstlenir ve sunucu yok edildiğinde onu serbest bırakır.
IOHandlerOptions.IOHandlerType iohIOCP veya iohEPOLL olduğunda, aSSLHandler'a atanan işleyici TsgcIdServerIOHandlerOpenSSLIOCP'den (IOCP) veya TsgcIdServerIOHandlerOpenSSLEPOLL'dan (EPOLL) türetilmiş olmalıdır, çünkü yalnızca bu işleyiciler olay güdümlü I/O motoru tarafından yönetilebilir. Başka herhangi bir işleyici kullanıldığında, yük dengeleyici başlatılırken bir istisna oluşturur. İş parçacıkları, zaman aşımları ve TCPKeepAlive gibi IOHandlerOptions değerleri, OnSSLAfterCreateHandler tetiklenmeden önce işleyiciye uygulanır; bu nedenle bu olayda ayarlanan değerler önceliklidir. Varsayılan işleyicinin yalnızca birkaç özelliğini değiştirmeniz yeterliyse, işleyiciyi değiştirmek yerine OnSSLAfterCreateHandler kullanın.
procedure OnSSLGetHandler(Sender: TObject; aType: TwsSSLHandler;
var aSSLHandler: TIdServerIOHandlerSSLBase);
begin
aSSLHandler := TCustomServerSSLHandler.Create(nil);
// ... configure handler properties
end;