我开发的应用程序使用 WebSockets 将数据流式传输到客户端。 WebSocket 端点的结构方式 (/auth/watch/:stream-id
) 允许浏览器访问不对应任何流的 URL。
服务器将在这种情况下返回 404 错误。我想处理此类错误并向最终用户显示适当的消息(例如,您尝试访问的流不存在)。
我用谷歌搜索了一下,但没有找到任何结果。套接字的 Error 和 Close 事件均未提供有关响应代码的任何信息(我猜这是因为响应代码对 WebSockets 没有多大意义)。我发现尝试向此端点发出 HTTP 请求会导致 404 错误,因此我可以通过额外的请求来处理此问题。
有没有办法在客户端无需额外请求来处理此类情况?
非常感谢!
截图
最佳答案
你不能对这个错误使用 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/