javascript - 哪些浏览器支持 HTML5 WebSocket API?

标签 javascript web-applications html network-programming websocket

这个问题的答案是community effort .编辑现有答案以改进这篇文章。它目前不接受新的答案或互动。








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

哪些浏览器支持WebSocket API ?

最佳答案

客户端

  • 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
  • 火狐 4.0 - support for WebSockets disabled .启用它 see here .
  • 歌剧 11 - with support disabled .启用它 see here .
  • HyBi-07+:
  • Chrome 14.0
  • Firefox 6.0 - 前缀:MozWebSocket
  • IE 9 - 通过 downloadable Silverlight extension
  • 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
  • 火狐 11
  • Opera 12.10/Opera Mobile 12.1

  • 任何带有 Flash 的浏览器都可以使用 web-socket-js 支持 WebSocket。垫片/polyfill。

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

    test reports来自 Autobahn WebSockets 中包含的 WS 测试套件用于功能/协议(protocol)一致性测试。

    服务器端

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

    在 Java/Java EE 中:
  • Jetty 7.0支持(非常好用)V 7.5 supports RFC6455 - Jetty 9.1支持 javax.websocket/JSR 356)
  • GlassFish 3.0 (非常低级,有时很复杂),Glassfish 3.1 具有新的重构 Websocket 支持,对开发人员更友好 V 3.1.2 supports RFC6455
  • Caucho Resin 4.0.2 (还没试过)V 4.0.25 supports RFC6455
  • Tomcat 7.0.27现在支持它 V 7.0.28 supports RFC6455
  • Tomcat 8.x对 websockets RFC6455 具有 native 支持并且符合 JSR 356
  • JSR 356 included in Java EE 7将为 WebSocket 定义 Java API,但尚未稳定和完整。参见 Arun GUPTA 的文章 WebSocket and Java EE 7 - Getting Ready for JSR 356 (TOTD #181)QCon presentation (从 00:37:36 到 00:46:53)了解更多关于进展的信息。你也可以看看Java websocket SDK .

  • 其他一些 Java 实现:
  • Kaazing Gateway
  • jWebscoket
  • Netty
  • xLightWeb
  • Webbit
  • Atmosphere
  • Grizzly
  • Apache ActiveMQ V 5.6 supports RFC6455
  • Apache Camel V 2.10 supports RFC6455
  • JBoss HornetQ

  • 在 C# 中:
  • XSockets.NET
  • SuperWebSocket
  • Nugget
  • Alchemy-Websockets
  • Fleck
  • SignalR

  • 在 PHP 中:
  • Ratchet
  • phpwebsocket .
  • Extendible Web Socket Server
  • phpdaemon

  • 在 Python 中:
  • pywebsockets
  • websockify
  • gevent-websocket , gevent-socketioflask-sockets基于前者
  • Autobahn
  • Tornado

  • 在 C:
  • libwebsockets

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

  • Vert.x (also known as Node.x) :在 Java 7 JVM 上运行并基于 Netty 的类似多语言实现的节点,具有:
  • 支持 Ruby(JRuby)、Java、Groovy、Javascript(Rhino/Nashorn)、Scala、...
  • 真正的线程。 (与 Node.js 不同)
  • 立即理解多种网络协议(protocol),包括: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)等平台。

    对于其他语言实现,see the Wikipedia article for more information .

    Websockets 的 RFC:RFC6455

    关于javascript - 哪些浏览器支持 HTML5 WebSocket API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1253683/

    相关文章:

    networking - UDP 或 HTTP over TCP/IP 用于简单的多人游戏

    azure - 我可以在 Azure Application Insight 中查看 Http 队列长度吗?

    javascript - 如何仅使用上面的 div 和下面的 div 动态更新 div 的最大高度?

    javascript - 在新的 Facebook JavaScript SDK 中显示弹出窗口

    javascript - 在 Jquery 中使用数组

    html - 我将哪些 HTML5 微数据用于工作(职位空缺)?

    javascript - 在 JavaScript 中更改 <input> 的 `list` 属性

    JavaScript 函数..命名?

    c# - "Security"部署的 Web 应用程序上的 NHibernate 问题

    javascript - 跟踪同一网络上的设备或与 php 具有相同 IP 的设备