【问题标题】:Trigger websocket error event触发 websocket 错误事件
【发布时间】:2012-04-10 09:19:23
【问题描述】:
我正在测试 websocket 并试图找到在客户端触发错误事件的场景。协议说
如果要求用户代理使 websocket 连接失败或 WebSocket 连接因偏见而关闭,则在 WebSocket 对象上触发一个名为 error 的简单事件。
但是,使用此逻辑,我尝试连接到不支持 websocket 的服务器。我看到浏览器实际上正在触发“关闭”事件,但没有触发“错误”事件。
问:上述场景是否应该触发错误事件?另外,还有哪些其他情况可以在客户端触发错误事件?
【问题讨论】:
标签:
error-handling
websocket
【解决方案1】:
并非所有浏览器都完全遵循 WebSockets 规范。
所以每个实现都有自己的差异。例如,Chrome 不会在连接问题上引发 onerror 事件。
但是,只要端点中断连接(与代码断开连接,刚刚关闭服务器,甚至无法连接),FireFox 都会抛出 onerror。
因此,您现在不能真正指望此事件实现的稳定性。
根据我的经验,我现在看到 onerror 事件非常特定于浏览器,并且只有几个共同的逻辑场景。