TsgcHTTPServer › 이벤트 › OnSSLGetHandler

OnSSLGetHandler 이벤트

사용자 정의 서버 측 핸들러 인스턴스를 제공할 수 있도록 SSL 핸들러가 생성되기 전에 발생합니다.

구문

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

기본값

—

설명

OnSSLGetHandler는 서버가 SSL 바인딩에 사용되는 TLS IOHandler를 빌드하기 직전에 발생합니다. 기본 핸들러를 교체하려면, 예를 들어 특수한 OpenSSL 또는 SChannel 구현을 연결하려면 aSSLHandler를 TIdServerIOHandlerSSLBase에서 상속된 자체 클래스의 인스턴스에 할당하십시오. 서버가 기본 핸들러를 생성하도록 하려면 aSSLHandler를 할당하지 않은 상태로 두십시오. 이 경우 OnSSLAfterCreateHandler를 사용하여 생성 후 속성을 조정할 수 있습니다. 구성 요소는 여기에 할당된 핸들러의 소유권을 가지며 서버가 소멸될 때 이를 해제합니다.

IOHandlerOptions.IOHandlerType이 iohIOCP 또는 iohEPOLL인 경우, 이벤트 기반 IO 엔진은 이러한 핸들러로만 구동할 수 있으므로 aSSLHandler에 할당되는 핸들러는 TsgcIdServerIOHandlerOpenSSLIOCP(IOCP) 또는 TsgcIdServerIOHandlerOpenSSLEPOLL(EPOLL)에서 상속되어야 합니다. 다른 핸들러를 사용하면 서버가 시작될 때 예외가 발생합니다. threads, timeouts, TCPKeepAlive와 같은 IOHandlerOptions 값은 OnSSLAfterCreateHandler가 발생하기 전에 핸들러에 적용되므로, 해당 이벤트에서 설정한 값이 우선합니다. 기본 핸들러의 속성 몇 가지만 변경하면 되는 경우에는 핸들러를 교체하는 대신 OnSSLAfterCreateHandler를 사용하십시오.

예제


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

이벤트로 돌아가기