WebSocket会发出什么错误?

时间:2019-05-10 09:53:17

标签: javascript websocket

是否存在js websocket客户端可以发出的所有可能的错误事件的列表?是指定错误还是取决于实现?

webSocket.on('error', (event) => ...) // What can event be?

2 个答案:

答案 0 :(得分:1)

这是您可能会收到的Websocket错误代码的列表。 websocket-close-codes

如果发生异常情况,您很可能会收到1006

答案 1 :(得分:1)

浏览器端错误事件实际上与WebSocket协议as detailed in section 11.7 to the RFC使用的“关闭代码”有关。

您可以找到registered WebSocket closure codes here

除了服务器端指定的错误外,客户端还会发出一些解析错误和协议错误(例如UTF-8 requirements)...这些错误和协议错误通常映射到结束代码(已映射UTF-8)编码为1003)。

AFAIK,这些关闭错误代码实际上是作为onclose事件的一部分发送到close回调的。 (即close_event.code)。但是,according to MDN when the closure isn't normal (code 1000), the onerror callback is also called

我个人从未使用这些错误代码进行任何测试或编码,因为它们不可靠可选

  

在关闭已建立的连接时(例如,在打开握手完成后发送“关闭”帧时),端点 MAY 指示关闭原因。

出于某种原因,可选公开这些“错误代码”。从服务器向客户端/应用程序发送错误代码可能(潜在地)暴露安全漏洞。