TsgcWebSocketServer › イベント › OnSSLALPNSelect
ALPN対応のハンドシェイク中に発生し、アプリケーションがネゴシエートするプロトコルを選択できるようにします。
property OnSSLALPNSelect: TsgcWSOnSSLALPNSelect;
// TsgcWSOnSSLALPNSelect = procedure(Sender: TObject; aProtocols: TStringList; var aProtocol: String) of object
—
クライアントが TLS ハンドシェイク中にアプリケーション層プロトコルネゴシエーションをアドバタイズすると、OnSSLALPNSelect が発生し、サーバーはどのプロトコルをネゴシエートするかを決定できます。aProtocols パラメータはクライアントがアドバタイズした名前(例: "h2"、"http/1.1")の TStringList です。サーバーが使用するものを aProtocol に割り当ててください。空文字列を返すとデフォルトの動作が維持され、TLS 層がサーバーのサポートする最初のアドバタイズされたプロトコルを選択します。
procedure OnSSLALPNSelect(Sender: TObject; aProtocols: TStringList;
var aProtocol: String);
begin
if aProtocols.IndexOf('h2') >= 0 then
aProtocol := 'h2'
else
aProtocol := 'http/1.1';
end;