如何使用“未知原因”调试Websocket连接错误

Rez*_*eza 22 javascript google-chrome websocket

最近,我在chrome控制台上收到以下消息;

WebSocket connection to 'ws://evo15:4008/?stream' failed: Unknown reason
Run Code Online (Sandbox Code Playgroud)

它变得越来越多,并且以某种方式令人讨厌,我必须每次打开一个新选项卡或重新启动chrome才能恢复正常的websocket连接。我该如何调试?不幸的是,我还不能复制它。我的Chrome版本是Version 77.0.3865.75 (Official Build) (64-bit)

更新1:我认为您可以通过从服务器端关闭连接很长时间(我不知道确切时间),然后打开它并尝试连接它(客户端尝试每1秒连接一次)来重现它。然后它将发生。所以我猜有一个过期时间或尝试连接某处的次数有限。

更新2:尝试256次重新连接后发生。

WebSocket connection to 'ws://evo15:4008/?stream' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED
Run Code Online (Sandbox Code Playgroud)

在控制台上看到255错误后,您将看到第一个错误,并且无法重新连接。所以我认为我缺少某处的8位限制

在此处输入图片说明

iX3*_*iX3 22

似乎有人刚刚将其提交为Chromium(v77)错误。请在此处查看问题跟踪

更新1:如问题跟踪器和以下注释中所述,现在应该在最新的稳定版本中对此问题进行修复,该最新版本现已推出(2019/10/11)。

更新2:尽管该错误在单轨中被标记为已修复/已关闭,但金丝雀(80.0.3977.4)仍似乎具有此行为。正如其他人指出的那样,全局限制为255。但是,在刷新页面时,由JS打开的连接不会关闭/重置的事实在我看来仍然是一个错误。 Chrome Canary(版本80)的屏幕截图,展示了WebSocket限制/错误

  • 显然,该修复程序现已推出:https://bugs.chromium.org/p/chromium/issues/detail?id=1006243#c42 (2认同)

ssh*_*ime 13

出于某些非常非常奇怪的原因,在我的计算机中,Websocket 连接被 AdBlock 视为广告。

尝试禁用 AdBlock 并查看它是否有效。

  • 拯救了兄弟! (3认同)