TsgcWebSocketServer › Ereignisse › OnSSLALPNSelect
Wird während eines ALPN-fähigen Handshakes ausgelöst, sodass die Anwendung auswählen kann, welches Protokoll ausgehandelt werden soll.
property OnSSLALPNSelect: TsgcWSOnSSLALPNSelect;
// TsgcWSOnSSLALPNSelect = procedure(Sender: TObject; aProtocols: TStringList; var aProtocol: String) of object
—
Wenn ein Client während des TLS-Handshakes Application-Layer Protocol Negotiation ankündigt, wird OnSSLALPNSelect ausgelöst, sodass der Server entscheiden kann, welches Protokoll ausgehandelt wird. Der Parameter aProtocols ist eine TStringList mit den vom Client angekündigten Namen (zum Beispiel "h2", "http/1.1"); weisen Sie aProtocol das gewünschte zu, das der Server verwenden möchte. Das Zurückgeben eines leeren Strings belässt das Standardverhalten, in welchem Fall die TLS-Schicht das erste angekündigte Protokoll wählt, das der Server unterstützt.
procedure OnSSLALPNSelect(Sender: TObject; aProtocols: TStringList;
var aProtocol: String);
begin
if aProtocols.IndexOf('h2') >= 0 then
aProtocol := 'h2'
else
aProtocol := 'http/1.1';
end;