哪些浏览器支持 HTML5 WebSocket API?

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

哪些浏览器支持 WebSocket API


答案 1

客户端

  • Hixie-75:
  • 铬 4.0 + 5.0
  • 野生动物园 5.0.0
  • HyBi-00/Hixie-76:
  • 铬 6.0 - 13.0
  • 野生动物园 5.0.2 + 5.1
  • iOS 4.2 + iOS 5
  • Firefox 4.0 - 禁用对 WebSockets 的支持。要启用它,请参阅此处
  • Opera 11 - 禁用了支持。要启用它,请参阅此处
  • 海比-07+:
  • 铬 14.0
  • Firefox 6.0 - 前缀:MozWebSocket
  • IE 9 - 通过可下载的 Silverlight 扩展
  • HyBi-10:
  • 铬 14.0 + 15.0
  • Firefox 7.0 + 8.0 + 9.0 + 10.0 - 前缀:MozWebSocket
  • IE 10(来自 Windows 8 Developer Preview)
  • HyBi-17/RFC 6455
  • 铬 16
  • 火狐 11
  • 歌剧 12.10 / 歌剧移动版 12.1

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

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

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


服务器端

这取决于您使用的语言。

在 Java/Java EE 中:

其他一些 Java 实现:

在 C# 中:

在 PHP 中:

在Python中:

在 C 中:

在节点中.js:

  • Socket.io:Socket.io 还为Python,Java,Google GO,Rack提供了服务器端端口
  • sockjs :sockjs还为Python,Java,Erlang和Lua提供了服务器端端口
  • WebSocket-Node - HyBi-10 的 Pure JavaScript Client & Server 实现。

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 是一个Websocket云服务,可通过REST API访问。

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

有关其他语言的实现,请参阅维基百科文章以获取更多信息

用于 Websockets 的 RFC : RFC6455


答案 2