【发布时间】:2016-07-04 17:32:41
【问题描述】:
我正在尝试使用 Websockets 加强项目中的错误处理代码。目前,我们的代码将捕获一个“错误”事件和一个“关闭”事件,并使用各种启发式方法(例如,是否收到了打开事件?是否收到了特定于我们项目的各种数据包?)来决定什么样的发生关闭/错误,然后立即注销事件处理程序并销毁对 Websocket 的所有引用。
我一直在考虑改用status code,但是虽然关闭事件给了你这个,错误事件没有——而且错误事件似乎总是先发送。因此,如果我在发送这些事件中的第一个时清理 Websocket,我将永远不会收到状态代码。
显而易见的解决方案是忽略错误事件而只处理关闭事件,但这引发了一个问题:是否可以在没有立即触发关闭事件的情况下触发错误事件?(如果是这样,修改后的代码会错过它。)我能看到的规范中唯一相关的部分是this part,它指出当连接关闭时,步骤 2 会触发错误事件,步骤 3 会触发关闭事件,但我看不到任何说明由于其他原因无法触发错误事件的内容。
如果有答案可以指出规范的一部分来证明这一点,我们将不胜感激。
【问题讨论】:
标签: javascript events websocket