WebSockets 是活生生的。只有 firefox 4 beta 禁用了原生 WebSockets 支持,Chrome 和 Safari 没有。 Opera 宣布,在问题得到解决之前,他们不会发布发布版本,但无论如何都不会发布 alpha/beta 版本。
此外,很多(也许是大多数)使用 WebSockets 的项目使用 web-socket-js (Flash) 后备。对于这些项目,当在没有 WebSockets 或禁用它的浏览器上运行时,将使用 web-socket-js。它的效率将低于原生,但仍比长轮询低得多。
但同样重要的是要记住,WebSockets 比 HTML5 的大多数其他部分要年轻得多(这是几个月前它被拆分出来的部分原因),而且它仍处于草稿阶段。
此外,HyBi 工作组(负责起草 WebSockets 协议)刚刚发布了一个 updated draft standard 04,解决了浏览器供应商的安全问题(特别注意,这些问题不是因为 WebSockets 中的漏洞,而是 WebSockets 可能用于利用 HTTP 中介中的漏洞)。
discussion about WebSockets 在 HyBi 上仍然非常活跃。我预计在进入下一轮浏览器版本之前,可能会有另一个草案进行进一步改进。浏览器供应商都希望解决 WebSockets 解决的问题(来自浏览器的低延迟、低开销的网络通信),因此向 WebSockets 的转变正在迅速发生。
当前的颠簸只是一个颠簸。但无论原生实现需要多长时间才能完成,您仍然可以在每个使用 web-socket-js 的浏览器上使用 WebSockets。
更新:
解决安全问题(除其他外)的新 HyBi 协议已完成,预计将于本月(2011 年 11 月)正式发布。 HyBi-17 是规范的最新版本。
使用 IE10 开发者预览版,包括 WebSockets、Opera 和 Android 的浏览器,是唯一没有提供默认开启的 WebSockets 实现的浏览器(Opera 的实现可以手动启用)。我预计这会很快改变,同时web-socket-js 已更新为 HyBi 协议系列,对于没有默认支持的浏览器来说仍然是一个很好的 polyfill/shim。