
如何在 JS 中处理 WebSocket 连接失败的问题
问题:
使用 JavaScript WebSocket 连接到后端时,自定义 WebSocket 头部后连接失败,浏览器报错:“websocket connection to 'ws://localhost:8888/text' failed”。
分析:
立即学习“Java免费学习笔记(深入)”;
观察网络请求发现,WebSocket 在连接服务器时发送了一条空消息,而服务端日志显示连接成功。
解决方案:
如果客户端在请求中携带了 Sec-WebSocket-Protocol 标头,服务端必须在响应中返回一个相同的 Sec-WebSocket-Protocol 标头。未返回该标头会导致客户端认为连接失败。
注意事项:
- 服务端未在 Java 客户端中使用子协议。
- 子协议类似于 HTTP 请求标头中的 Accept 和响应标头中的 Content-Type。










