TsgcWebSocketHTTPServer › Olaylar › OnSSLGetHandler
SSL işleyici oluşturulmadan önce tetiklenir, böylece ö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, sunucu 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. Sunucunun 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, sunucu 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;