草庐IT

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

coder 2023-04-23 原文

这个问题的答案是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/

    有关javascript - 哪些浏览器支持 HTML5 WebSocket API?的更多相关文章

    1. ruby - 使用 ruby​​ 将 HTML 转换为纯文本并维护结构/格式 - 2

      我想将html转换为纯文本。不过,我不想只删除标签,我想智能地保留尽可能多的格式。为插入换行符标签,检测段落并格式化它们等。输入非常简单,通常是格式良好的html(不是整个文档,只是一堆内容,通常没有anchor或图像)。我可以将几个正则表达式放在一起,让我达到80%,但我认为可能有一些现有的解决方案更智能。 最佳答案 首先,不要尝试为此使用正则表达式。很有可能你会想出一个脆弱/脆弱的解决方案,它会随着HTML的变化而崩溃,或者很难管理和维护。您可以使用Nokogiri快速解析HTML并提取文本:require'nokogiri'h

    2. ruby-on-rails - Rails HTML 请求渲染 JSON - 2

      在我的Controller中,我通过以下方式在我的index方法中支持HTML和JSON:respond_todo|format|format.htmlformat.json{renderjson:@user}end在浏览器中拉起它时,它会自然地以HTML呈现。但是,当我对/user资源进行内容类型为application/json的curl调用时(因为它是索引方法),我仍然将HTML作为响应。如何获取JSON作为响应?我还需要说明什么? 最佳答案 您应该将.json附加到请求的url,提供的格式在routes.rb的路径中定义。这

    3. ruby-on-rails - 使用 Sublime Text 3 突出显示 HTML 背景语法中的 ERB? - 2

      所以我在关注Railscast,我注意到在html.erb文件中,ruby代码有一个微弱的背景高亮效果,以区别于其他代码HTML文档。我知道Ryan使用TextMate。我正在使用SublimeText3。我怎样才能达到同样的效果?谢谢! 最佳答案 为SublimeText安装ERB包。假设您安装了SublimeText包管理器*,只需点击cmd+shift+P即可获得命令菜单,然后键入installpackage并选择PackageControl:InstallPackage获取包管理器菜单。在该菜单中,键入ERB并在看到包时选择

    4. ruby - 在 Ruby 中用键盘诅咒数组浏览 - 2

      我正在尝试在Ruby中制作一个cli应用程序,它接受一个给定的数组,然后将其显示为一个列表,我可以使用箭头键浏览它。我觉得我已经在Ruby中看到一个库已经这样做了,但我记不起它的名字了。我正在尝试对soundcloud2000中的代码进行逆向工程做类似的事情,但他的代码与SoundcloudAPI的使用紧密耦合。我知道cursesgem,我正在考虑更抽象的东西。广告有没有人见过可以做到这一点的库或一些概念证明的Ruby代码可以做到这一点? 最佳答案 我不知道这是否是您正在寻找的,但也许您可以使用我的想法。由于我没有关于您要完成的工作

    5. ruby-on-rails - 浏览 Ruby 源代码 - 2

      我的主要目标是能够完全理解我正在使用的库/gem。我尝试在Github上从头到尾阅读源代码,但这真的很难。我认为更有趣、更温和的踏脚石就是在使用时阅读每个库/gem方法的源代码。例如,我想知道RubyonRails中的redirect_to方法是如何工作的:如何查找redirect_to方法的源代码?我知道在pry中我可以执行类似show-methodmethod的操作,但我如何才能对Rails框架中的方法执行此操作?您对我如何更好地理解Gem及其API有什么建议吗?仅仅阅读源代码似乎真的很难,尤其是对于框架。谢谢! 最佳答案 Ru

    6. ruby-on-rails - Ruby url 到 html 链接转换 - 2

      我正在使用Rails构建一个简单的聊天应用程序。当用户输入url时,我希望将其输出为html链接(即“url”)。我想知道在Ruby中是否有任何库或众所周知的方法可以做到这一点。如果没有,我有一些不错的正则表达式示例代码可以使用... 最佳答案 查看auto_linkRails提供的辅助方法。这会将所有URL和电子邮件地址变成可点击的链接(htmlanchor标记)。这是文档中的代码示例。auto_link("Gotohttp://www.rubyonrails.organdsayhellotodavid@loudthinking.

    7. ruby-on-rails - capybara ::ElementNotFound:无法找到 xpath "/html" - 2

      我正在学习http://ruby.railstutorial.org/chapters/static-pages上的RubyonRails教程并遇到以下错误StaticPagesHomepageshouldhavethecontent'SampleApp'Failure/Error:page.shouldhave_content('SampleApp')Capybara::ElementNotFound:Unabletofindxpath"/html"#(eval):2:in`text'#./spec/requests/static_pages_spec.rb:7:in`(root)'

    8. ruby - 如何使用 Ruby 将 CSV 文件读入 HTML 表格? - 2

      我正在尝试将一个简单的CSV文件读入HTML表格以在浏览器中显示,但我遇到了麻烦。这就是我正在尝试的:Controller:defshow@csv=CSV.open("file.csv",:headers=>true)end查看:输出:NameStartDateEndDateQuantityPostalCode基本上我只获取标题,而不会读取和呈现CSV正文。 最佳答案 这最终成为最终解决方案:Controller:defshow#OpenaCSVfile,andthenreaditintoaCSV::Tableobjectforda

    9. ruby-on-rails - 您希望看到哪些 Rails 插件? - 2

      您认为可以作为插件很好地存在于您的Rails应用程序中必须实现的哪些行为?您过去曾搜索过哪些插件功能但找不到?哪些现有的Rails插件可以改进或扩展,如何改进或扩展? 最佳答案 我希望在管理界面中看到一个引擎插件,它提供了应用程序中所有模型的仪表板摘要,以及可配置的事件图表。 关于ruby-on-rails-您希望看到哪些Rails插件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questio

    10. ruby - 如何使用 Nokogiri 解析纯 HTML 表格? - 2

      我想用Nokogiri解析HTML页面。页面的一部分有一个表,它没有使用任何特定的ID。是否可以提取如下内容:Today,3,455,34Today,1,1300,3664Today,10,100000,3444,Yesterday,3454,5656,3Yesterday,3545,1000,10Yesterday,3411,36223,15来自这个HTML:TodayYesterdayQntySizeLengthLengthSizeQnty345534345456563113003664354510001010100000344434113622315

    随机推荐