哪些浏览器支持HTML5 WebSocket API?

Sar*_*uon 278 javascript html5 network-programming web-applications websocket

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

哪些浏览器支持WebSocket API

Cbe*_*317 427

客户端

  • 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
    • Chrome 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-Node - HyBi-10的纯JavaScript客户端和服务器实现.

Vert.x(也称为Node.x):类似于在Java 7 JVM上运行并基于Netty的多语言实现的节点:

  • 支持Ruby(JRuby),Java,Grovy,Javascript(Rhino/Nashorn),Scala,......
  • 真正的线程.(与Node.js不同)
  • 开箱即用地理解多种网络协议,包括:TCP,SSL,UDP,HTTP,HTTPS,Websockets,SockJS作为WebSockets的后备

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

DotCloud云平台支持Websockets,Java(Jetty Servlet Container),NodeJS,Python,Ruby,PHP和Perl编程语言.

Openshift云平台支持websockets,Java(Jboss,Spring,Tomcat和Vertx),PHP(ZendServer&CodeIgniter),Ruby(ROR),Node.js,Python(Django&Flask)平台.

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

RFC for Websockets:RFC6455

  • 保持最新的+1.Opera [将在10.70中也支持Websockets](http://my.opera.com/core/blog/websockets). (32认同)
  • @Tony:IE9确实*不支持WebSockets.在[HTML5实验室](http://html5labs.interoperabilitybridges.com/)中提供了实验性支持作为附件,但尚未发货并准备就绪. (3认同)
  • 在Go-lang中,websockets位于标准库中:[go.net/websocket](http://godoc.org/code.google.com/p/go.net/websocket) (2认同)