哪些浏览器支持HTML5 WebSocket API?


278

我将开发一个在浏览器中运行的即时消息应用程序。

哪些浏览器支持WebSocket API


2
我们保持对我们的Java的WebSocket项目网站的WebSocket支持的浏览器向上最新名单:jwebsocket.org/browsers.htm
普雷德拉格Stojadinović

62
我们应该尝试使这些答案保持最新状态,对吗?我认为这比重新提出要好。
dreeves

5
有关HTML5和相关功能的最佳网站是caniuse.com
kanaka

5
有一个关于HTML5 websockets的很好的社区Wiki:stackoverflow.com/questions/4262543/using-html-5-websockets
Wouter Dorgelo 2010年

1
@meagar-我不同意。我认为应该将其作为Wiki保护起来,以防止出现新的答案,但要保留当前有用的答案。这个问题有超过100,000次浏览。
Travis J

Answers:


428

客户端

  • Hixie-75:
    • Chrome 4.0 + 5.0
    • Safari 5.0.0
  • HyBi-00 / Hixie-76:
  • HyBi-07 +:
  • 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
    • 镀铬16
    • Firefox 11
    • Opera 12.10 / Opera Mobile 12.1

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

有关台式机和移动浏览器中WebSockets支持的当前状态,请参见caniuse

有关功能/协议一致性测试,请参见Autobahn WebSockets中包含的WS测试套件的测试报告


服务器端

这取决于您使用哪种语言。

在Java / Java EE中:

其他一些Java实现:

在C#中:

在PHP中:

在Python中:

在C中:

在Node.js中:

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

Vert.x(也称为Node.x):在Java 7 JVM上运行的,基于Netty的类似于polyglot的节点,具有:

  • 支持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)平台。

有关其他语言的实现,请参见Wikipedia文章以获取更多信息

Websockets的RFC:RFC6455


32
+1以使其保持最新状态。Opera 在10.70中提供Websockets支持
Sasha Chedygov

是的,我认为他们在Opera 11 Opera.com/browser/next中将
Cbe317

3
@Tony:IE9不支持WebSockets的。在HTML5实验室中,有作为附件的实验性支持,但尚未出厂。
Shog9 2011年

Webbit是一个出色的Java WebSocket服务器,应该添加到列表中。
AslakHellesøy

2
在Go-lang中,websockets在标准库中:go.net/websocket
naufraghi
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.