javascript - 在客户端处理 WebSocket 404

标签 javascript google-chrome http error-handling websocket

我开发的应用程序使用 WebSockets 将数据流式传输到客户端。 WebSocket 端点的结构方式 (/auth/watch/:stream-id) 允许浏览器访问不对应任何流的 URL。

服务器将在这种情况下返回 404 错误。我想处理此类错误并向最终用户显示适当的消息(例如,您尝试访问的流不存在)。

我用谷歌搜索了一下,但没有找到任何结果。套接字的 Error 和 Close 事件均未提供有关响应代码的任何信息(我猜这是因为响应代码对 WebSockets 没有多大意义)。我发现尝试向此端点发出 HTTP 请求会导致 404 错误,因此我可以通过额外的请求来处理此问题。

有没有办法在客户端无需额外请求来处理此类情况?

非常感谢!

截图

enter image description here

最佳答案

你不能对这个错误使用 try-and-catch,你必须从关闭事件的代码中确定,这里是一个示例

let ws = new WebSocket("wss://jsbin.com", "protocol");

ws.onclose = (e) => {
  if(e.code === 1006) {
    alert('ws closed abruptly');
  }
}

关于javascript - 在客户端处理 WebSocket 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37392275/

相关文章:

javascript - 约束切换效果

javascript - 基于单选按钮选择的计算

javascript - 处理大量元素时隐藏/显示功能的性能极慢

c - 使用 C 和 Lua 中的套接字保存来自 http 响应的图像

c# - 在 C# 中的 RESTfull/HTTP 请求中添加 header 和发布数据

java - 如何处理http POST正文

javascript - 如何访问 "more global"变量?

javascript - Magento : Moving content to the review tab on the product page

javascript - ReferenceError:Chrome 和 Mozilla 中未定义 ActiveXObject

javascript - 选项卡 url 更改后从后台回调到内容脚本