web-dev-qa-db-ja.com

「不明な理由」でWebSocket接続エラーをデバッグする方法

最近、chrome console;に次のメッセージが表示されます。

_WebSocket connection to 'ws://evo15:4008/?stream' failed: Unknown reason
_

それはどんどん取得していて、どういうわけか迷惑であり、通常のWebソケット接続に戻るには、毎回新しいタブを開くか、chromeを再起動する必要があります。どのようにデバッグできますか?残念ながら、再現できません。私のchromeバージョンはVersion 77.0.3865.75 (Official Build) (64-bit)です

更新1:サーバー側から長時間(正確な時間はわかりません)接続を閉じて、それを再現することで再現できると思いますそれを開いて接続を試みます(クライアントは1秒ごとに接続を試みます)。その後、それは起こります。したがって、どこかに接続するための有効期限または限られた数の試行があると思います。

Update 2:再接続を256回試行した後に発生します。

_WebSocket connection to 'ws://evo15:4008/?stream' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED
_

コンソールにこのエラーが255表示された後、最初のエラーが表示され、再接続できません。だから私はどこかに欠けている8ビットの制限があると思います

enter image description here

24
Reza

誰かがこれをChromium(v77)バグとして提出したようです。 ここで問題を追跡 を参照してください。

更新1:課題トラッカーと以下のコメントに記載されているように、これは現在公開されている最新の安定版リリースで修正されるはずです(2019/10/11)。

アップデート2:モノレールでバグが修正済み/クローズ済みとしてマークされているにもかかわらず、カナリア(80.0.3977.4)にはこの動作が見られます。 他の人が指摘したように255 のグローバルな制限があります。ただし、ページが更新されてもJSによって開かれた接続が閉じられない/リセットされないという事実は、私にとってはバグのようです。 screenshot of Chrome canary (version 80) demonstrating WebSocket limit / bug

23
iX3