それはウェブソケットと言う
「 ws (非セキュア) または wss (セキュア) プロトコルを使用して、単一の TCP ソケットを介して通信が行われます...」
クライアントサーバーは1回のハンドシェイクしか必要ないということですか? しかし、NodeJs コンソールで 1 秒ごとにハンドシェイクが見られました。彼らは何ですか?
それはウェブソケットと言う
「 ws (非セキュア) または wss (セキュア) プロトコルを使用して、単一の TCP ソケットを介して通信が行われます...」
クライアントサーバーは1回のハンドシェイクしか必要ないということですか? しかし、NodeJs コンソールで 1 秒ごとにハンドシェイクが見られました。彼らは何ですか?
Websocket を使用する JavaScript がユーザーによって実行されるたびに、ハンドシェイクを実行する必要があります。ページ アクセス間で Websocket を再利用することはできません。ユーザーがページを閉じるか離れると、それらは自動的に閉じられます。ユーザーが新しいタブを開くと、新しいハンドシェイクが必要な 2 番目のソケットが作成されます。
NodeJs アプリケーションがクライアントが HTML ページ上に存在する Web アプリケーションである場合、ユーザーがページを要求するたびに接続が再確立されます。したがって、ユーザーが Web サイトをナビゲートし、Websocket を使用する JavaScript が各 HTML ページに埋め込まれている場合、クリックするたびに新しいハンドシェイクが実行されます。
常に同じページにとどまっているユーザーが 1 人しかいないにもかかわらず、新しいハンドシェイクが常に表示される場合は、実際にアプリケーションに問題がある可能性があります。既存のソケットを再利用できますが、常に新しいソケットを作成する可能性がありますか? (毎回new WebSocket
、1 つの新しい websocket 接続は、1 つの新しいハンドシェイクが実行されることを意味します)。