TsgcWebSocketServer › 이벤트 › OnSSLALPNSelect
ALPN이 활성화된 핸드셰이크 중에 발생하여 애플리케이션이 협상할 프로토콜을 선택할 수 있도록 합니다.
__property TsgcWSOnSSLALPNSelect OnSSLALPNSelect;
// typedef void __fastcall (__closure *TsgcWSOnSSLALPNSelect)(TObject * Sender, TStringList * aProtocols, UnicodeString &aProtocol);
—
클라이언트가 TLS 핸드셰이크 중에 Application-Layer Protocol Negotiation을 알리면 OnSSLALPNSelect가 발생하여 서버가 협상할 프로토콜을 결정할 수 있습니다. aProtocols 매개변수는 클라이언트가 알린 이름(예: "h2", "http/1.1")을 담은 TStringList입니다. 서버가 사용하려는 프로토콜에 aProtocol을 할당하십시오. 빈 문자열을 반환하면 기본 동작이 유지되며, 이 경우 TLS 계층이 서버가 지원하는 첫 번째로 알려진 프로토콜을 선택합니다.
void OnSSLALPNSelect(TObject *Sender, TStringList *aProtocols,
UnicodeString &aProtocol)
{
if (aProtocols->IndexOf("h2") >= 0)
aProtocol = "h2";
else
aProtocol = "http/1.1";
}