javascript - 如何调试 "Unknown reason"的 websocket 连接错误

标签 javascript google-chrome websocket

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

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

它越来越多,有点烦人,我每次都必须打开一个新选项卡或重新启动 chrome 才能恢复正常的 websocket 连接。我该如何调试它?不幸的是,我还无法重现它。我的 chrome 版本是版本 77.0.3865.75(官方版本)(64 位)

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

更新 2:尝试重新连接 256 次后会发生这种情况。

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

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

enter image description here

最佳答案

看起来有人刚刚将此作为 Chromium (v77) 错误提交。请参阅issue tracking it here .

更新 1: 正如下面的问题跟踪器和评论中所述,现在应该在正在推出的最新稳定版本中修复此问题 (2019/10/11)。

更新 2: 尽管该错误在单轨列车中被标记为已修复/已关闭,但 Canary (80.0.3977.4) 似乎仍然存在此行为。如others have noted全局限制为255 。然而,当页面刷新时,JS 打开的连接不会关闭/重置,这一事实对我来说仍然是一个错误。 screenshot of Chrome canary (version 80) demonstrating WebSocket limit / bug

关于javascript - 如何调试 "Unknown reason"的 websocket 连接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57974214/

相关文章:

css - 谷歌浏览器渲染字体不正确

c# - WebSocketServer MSDN 示例

javascript - JQuery live + Disqus/谷歌分析

javascript - 使用 Material-ui 传递数据以显示表信息时出错

javascript - 如何在AngularJS或Javascript中实现类似C#的await的功能?

google-chrome - 如何修复我的 jsp 页面中更改为 (¤) 的美元符号 ($)?

google-chrome - 使用 chrome 扩展向页面添加按钮

java - Spring Boot 端点 + webSocket

ios - SocketRocket 不适用于 iOS 5.0

javascript - Jquery - 加载动画问题