哪些浏览器支持HTML5 WebSocket API?

277

我将开发一个在浏览器中运行的即时通讯应用。

WebSocket API被哪些浏览器支持?


2
我们正在我们的Java WebSocket项目网站上保持一个最新的支持WebSocket的浏览器列表:http://jwebsocket.org/browsers.htm - Predrag Stojadinović
62
我们应该尽量让这些答案保持最新,对吧?我想重新提问不是首选。 - dreeves
5
HTML5及相关功能的最佳网站是http://caniuse.com。 - kanaka
5
有一个很好的关于 HTML5 WebSockets 的社区 Wiki:http://stackoverflow.com/questions/4262543/using-html-5-websockets - Wouter Dorgelo
1
@meagar - 我不同意。我认为它应该被保护为维基,以防止新的答案,但保留当前有用的答案。这个问题已经有超过100,000次的浏览。 - Travis J
显示剩余6条评论
1个回答

430
客户端
  • Hixie-75:
  • Chrome 4.0 + 5.0
  • Safari 5.0.0
  • HyBi-00/Hixie-76:
  • Chrome 6.0 - 13.0
  • Safari 5.0.2 + 5.1
  • iOS 4.2 + iOS 5
  • Firefox 4.0 - 支持WebSockets被禁用。要启用它,请看这里
  • Opera 11 - 支持被禁用。要启用它,请看这里
  • HyBi-07+:
  • Chrome 14.0
  • Firefox 6.0 - 前缀:MozWebSocket
  • IE 9 - 通过可下载的Silverlight扩展安装
  • HyBi-10:
  • Chrome 14.0 + 15.0
  • Firefox 7.0 + 8.0 + 9.0 + 10.0 - 前缀:MozWebSocket
  • IE 10(来自Windows 8开发人员预览版)
  • HyBi-17/RFC 6455
  • Chrome 16
  • Firefox 11
  • Opera 12.10 / Opera Mobile 12.1

使用Flash的任何浏览器都可以通过web-socket-js shim/polyfill支持WebSocket。

请参阅caniuse,了解桌面和移动浏览器中WebSockets支持的当前状态。

请查看Autobahn WebSockets中包含的WS测试套件的test reports,以获取功能/协议符合性测试报告。


服务器端

这取决于您使用的编程语言。

如果使用Java/JavaEE:

其他一些Java实现:

在C#中:

在 PHP 中:

在 Python 中:

在C语言中:

在Node.js中:

  • Socket.io:Socket.io还有Python、Java、Google GO和Rack的服务器端端口。
  • sockjs:sockjs还有Python、Java、Erlang和Lua的服务器端端口。
  • WebSocket-Node - HyBi-10的纯JavaScript客户端和服务器实现。

Vert.x(也称为Node.x):一个类似于节点的多语言实现,运行在Java 7 JVM上,基于Netty,并具有以下特点:

  • 支持Ruby(JRuby)、Java、Groovy、Javascript(Rhino/Nashorn)、Scala等语言
  • 真正的线程模型(不像Node.js)
  • 开箱即用地支持多种网络协议,包括:TCP、SSL、UDP、HTTP、HTTPS、Websockets,SockJS作为WebSockets的后备

Pusher.com是一个通过REST API访问的Websocket云服务。

DotCloud云平台支持Websockets,以及Java(Jetty Servlet容器)、NodeJS、Python、Ruby、PHP和Perl编程语言。

Openshift云平台支持Websockets,以及Java(Jboss、Spring、Tomcat & Vertx)、PHP(ZendServer & CodeIgniter)、Ruby(ROR)、Node.js、Python(Django & Flask)平台。

对于其他语言实现,请参见维基百科文章获取更多信息

Websockets的RFC:RFC6455


32
对于保持最新,点赞。Opera在10.70版本中也将支持Websockets。(链接为http://my.opera.com/core/blog/websockets) - Sasha Chedygov
3
@Tony:IE9不支持WebSockets。虽然在HTML5实验室中有可用的实验性支持作为附加组件,但并未发布和准备好。 - Shog9
IE10将支持WebSockets,但IE9不支持。 - nilskp
2
在Go语言中,Websockets是标准库的一部分:go.net/websocket - naufraghi
对于服务器端,我会添加uWSGI。http://uwsgi-docs.readthedocs.org/en/latest/WebSockets.html - Jiloc
显示剩余8条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接