これは愚かな質問かもしれませんが、ポーリングの代わりにtransportとしてwebsocketを使用するようにsocket.ioを強制的に再試行する方法があるのでしょうか?ポーリングにフォールバックした後に強制的にアップグレードしますか?
私のアプリケーションがWebSocket接続を確立できないことがあります(ハンドシェイクに失敗しました:ERR_CONNECTION_RESET)。 Socket.ioはポーリングに正しく戻ってしまいますが、たとえうまく機能したとしても、再びWebSocketに戻ってみることはできません。私の見解は正しいですか? もしそうなら、何をお勧めしますか?
コードが必要な場合は教えてください。私は理論的な質問にもっと似ているので、私は実際に関連するコード例を考えることができませんでした。
接続を拒否しないようにサーバーを修正してください。ポーリングモードの場合は、クライアントから接続を切断して再接続すると、自動的にwebSocketが自動的に再試行されます。 – jfriend00
うん。これは、状況を理解するために提供された単なる例でした。明らかに私は最初にハンドシェイクを失敗させたくありません。コメントありがとう! – puelo
時折、ERR_CONNECTION_RESETがwebSocket接続に固有のものではない可能性があります。たぶんあなたのWebサーバーの状態が悪いことの兆候でしょう。これがあなたのサーバーである場合、クライアントコードで回避しようとするのではなく、サーバーが正常に動作するようにすることが重要です。 – jfriend00