TsgcWebSocketHTTPServer › Olaylar › OnSSLALPNSelect
ALPN etkin bir handshake sırasında tetiklenir, böylece uygulama hangi protokolün müzakere edileceğini seçebilir.
property OnSSLALPNSelect: TsgcWSOnSSLALPNSelect;
// TsgcWSOnSSLALPNSelect = procedure(Sender: TObject; aProtocols: TStringList; var aProtocol: String) of object
—
Bir istemci TLS handshake sırasında Application-Layer Protocol Negotiation'ı duyurduğunda, sunucunun hangi protokolü müzakere edeceğine karar verebilmesi için OnSSLALPNSelect tetiklenir. aProtocols parametresi, istemci tarafından duyurulan adları içeren bir TStringList'tir (örneğin "h2", "http/1.1"); aProtocol'ü sunucunun kullanmak istediğine atayın. HTTP2Options.Enabled True olduğunda bileşen varsayılan olarak "h2" döndürür, böylece HTTP/2 saydam şekilde müzakere edilir; sunucu HTTP/1.1'i veya özel bir protokolü zorlamak isterse seçimi burada geçersiz kılın. Boş bir dize döndürmek varsayılan davranışı yerinde bırakır.
procedure OnSSLALPNSelect(Sender: TObject; aProtocols: TStringList;
var aProtocol: String);
begin
if aProtocols.IndexOf('h2') >= 0 then
aProtocol := 'h2'
else
aProtocol := 'http/1.1';
end;