0

我正在测试 websocket 并试图找到在客户端触发错误事件的场景。协议说

如果要求用户代理使 websocket 连接失败或 WebSocket 连接因偏见而关闭,则在 WebSocket 对象上触发一个名为 error 的简单事件。

但是使用这个逻辑,我尝试连接到不支持 websocket 的服务器。我看到浏览器实际上正在触发“关闭”事件,但没有触发“错误”事件。

问:上述场景是否应该触发错误事件?另外,我可以在客户端触发错误事件的其他场景是什么?

4

1 回答 1

0

并非所有浏览器都完全遵循 WebSockets 规范。所以每个实现都有自己的差异。例如,Chrome 不会在连接问题上引发 onerror 事件。但是,只要端点断开连接(与代码断开连接,刚刚关闭服务器,甚至无法连接),FireFox 都会抛出 onerror。

所以你现在不能真正指望这个事件实现的稳定性。根据我的经验,我现在看到 onerror 事件非常特定于浏览器,并且只有一些共同的逻辑场景。

于 2012-04-10T13:49:16.280 回答