當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Node.js tls.TLSSocket 'session'事件用法及代碼示例


事件:'session'

添加於:v11.10.0

參數

當新會話或 TLS 票證可用時,在客戶端 tls.TLSSocket 上發出 'session' 事件。這可能會或可能不會在握手完成之前,具體取決於協商的 TLS 協議版本。該事件不會在服務器上發出,或者如果沒有創建新會話,例如,當連接恢複時。對於某些 TLS 協議版本,可能會多次發出事件,在這種情況下,所有會話都可以用於恢複。

在客戶端,可以將session 提供給 tls.connect() session 選項以恢複連接。

有關詳細信息,請參閱Session Resumption

對於 TLSv1.2 及更低版本,握手完成後可以調用 tls.TLSSocket.getSession() 。對於 TLSv1.3,協議隻允許基於票證的恢複,發送多個票證,直到握手完成後才發送票證。因此需要等待'session' 事件才能獲得可恢複的會話。應用程序應使用 'session' 事件而不是 getSession() 以確保它們適用於所有 TLS 版本。隻希望獲取或使用一個會話的應用程序應該隻監聽這個事件一次:

tlsSocket.once('session', (session) => {
  // The session can be used immediately or later.
  tls.connect({
    session: session,
    // Other connect options...
  });
});

相關用法


注:本文由純淨天空篩選整理自nodejs.org大神的英文原創作品  'session'事件。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。