我想从 Web 应用程序连接到我们企业平台上的服务器上的 WebSocket。为此,我创建了一个简单的前端和一个简单的 WebSocket 服务器来尝试一些东西。
不幸的是,该应用程序在 Google Chrome 中无法工作,但在 Firefox 中可以正常工作。我也可以通过 Postman 正确连接到 WebSocket。
这是我用来连接 WebSocket 的代码行:
const socket = new WebSocket("wss://<host>/ws");
然后我会得到一个控制台错误,看起来像这样:
WebSocket connection to 'wss://<host>/ws' failed:
没有提到发生了什么问题,错误事件对象中也没有其他信息。检查socket
显示预期的readyState=3
。
我尝试通过以调试日志的方式启动Chrome来获取额外的日志,就像这样:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --enable-logging --v=9
但是我只看到与错误相关的以下行,没有更多了。
[VERBOSE1:network_delegate.cc(34)] NetworkDelegate::NotifyBeforeURLRequest: wss://<host>/ws
Chrome 版本:
Google Chrome 99.0.4844.51 (Official Build) (x86_64)
Revision d537ec02474b5afe23684e7963d538896c63ac77-refs/branch-heads/4844@{#875}
OS macOS Version 12.2.1 (Build 21D62)
JavaScript V8 9.9.115.8
我该如何调试这个失败的WebSocket连接?为什么它在Firefox中可以工作但在Chrome中却不行?
非常感谢!