触发 websocket 错误事件

Posted

技术标签:

【中文标题】触发 websocket 错误事件【英文标题】:Trigger websocket error event 【发布时间】:2012-04-10 09:19:23 【问题描述】:

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

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

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

问:上述场景是否应该触发错误事件?另外,还有哪些其他情况可以在客户端触发错误事件?

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

以上是关于触发 websocket 错误事件的主要内容,如果未能解决你的问题,请参考以下文章

Javascript - WebSocket OnOpen 事件未触发

Android websock 应用

WebSocket从入门到实战

初识Websocket

使用WebSocket实现聊天室

使用WebSocket实现聊天室