我想让一个 javascript 客户端进程获取当客户端发出 websocket 升级请求并且该请求不成功时服务器返回的 HTTP 状态代码。
我的服务器返回 HTTP 400 来指示 Websocket 升级不成功。
我正在使用 Google Chrome,当我打开开发者控制台时,我可以看到以下消息:
与“wss://”的 WebSocket 连接失败:WebSocket 握手期间出错:意外的响应代码:400
但是,onerror 处理程序不包含此消息,它收到 1006 错误,但并不表明由于获取 HTTP 400 而发生关闭。
JavaScript 开发人员如何处理握手错误?当客户收到握手错误时,我想向他们提供一条信息性消息。
我已将 websocket 错误放在下面,它似乎不包含任何可以用来表明此错误是由 websocket 握手错误导致的结果。
Websocket Error: {"path":{"length":0},"cancelBubble":false,"returnValue":true,"srcElement":{"binaryType":"blob","protocol":"","extensions":"","bufferedAmount":0,"readyState":3,"url":"wss://<my address>","URL":"wss://<my address>"},"defaultPrevented":false,"timeStamp":1417828938039,"cancelable":false,"bubbles":false,"eventPhase":2,"currentTarget":{"binaryType":"blob","protocol":"","extensions":"","bufferedAmount":0,"readyState":3,"url":"wss://<my address>","URL":"wss://<my address>"},"target":{"binaryType":"blob","protocol":"","extensions":"","bufferedAmount":0,"readyState":3,"url":"wss://<my address>","URL":"wss://<my address>"},"type":"error"}