TsgcWebSocketServer › Eventi › OnSSLALPNSelect
Viene attivato durante un handshake con ALPN abilitato affinché l'applicazione possa scegliere quale protocollo negoziare.
property OnSSLALPNSelect: TsgcWSOnSSLALPNSelect;
// TsgcWSOnSSLALPNSelect = procedure(Sender: TObject; aProtocols: TStringList; var aProtocol: String) of object
—
Quando un client pubblicizza Application-Layer Protocol Negotiation durante l'handshake TLS, viene generato OnSSLALPNSelect in modo che il server possa decidere quale protocollo negoziare. Il parametro aProtocols è un TStringList con i nomi pubblicizzati dal client (ad esempio "h2", "http/1.1"); assegnare aProtocol a quello che il server desidera utilizzare. Restituire una stringa vuota lascia il comportamento predefinito, nel qual caso il livello TLS sceglie il primo protocollo pubblicizzato supportato dal server.
procedure OnSSLALPNSelect(Sender: TObject; aProtocols: TStringList;
var aProtocol: String);
begin
if aProtocols.IndexOf('h2') >= 0 then
aProtocol := 'h2'
else
aProtocol := 'http/1.1';
end;