TsgcWebSocketServerイベント › OnSSLALPNSelect

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;

イベントに戻る