在客户端处理WebSocket 404

时间:2016-05-23 13:26:23

标签: javascript google-chrome http error-handling websocket

我在使用WebSockets将数据流式传输到客户端的应用程序上工作。 WebSocket端点的结构方式(/auth/watch/:stream-id)使浏览器可以访问与无流相对应的URL。

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

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

有没有办法在客户端处理此类案件没有额外请求

非常感谢!

截图

enter image description here

1 个答案:

答案 0 :(得分:0)

您不能使用try-and-catch来解决此错误,您必须从关闭事件的代码中确定,这里是一个样本

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

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