277

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

哪些浏览器支持WebSocket API

4

1 回答 1

429

客户端

  • Hixie-75:
  • 铬 4.0 + 5.0
  • Safari 5.0.0
  • HyBi-00/Hixie-76:
  • 铬 6.0 - 13.0
  • Safari 5.0.2 + 5.1
  • iOS 4.2 + iOS 5
  • Firefox 4.0 -禁用 WebSockets 支持。要启用它,请参见此处
  • Opera 11 -禁用支持。要启用它,请参见此处
  • HyBi-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 开发者预览版)
  • HyBi-17/RFC 6455
  • 铬 16
  • 火狐 11
  • Opera 12.10 / Opera 移动版 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, 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 Container)、NodeJS、Python、Ruby、PHP和Perl编程语言。

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

对于其他语言实现,请参阅 Wikipedia 文章了解更多信息

Websocket 的 RFC:RFC6455

于 2010-04-23T17:26:10.147 回答