哪些浏览器支持HTML5 WebSocket API?
我将开发一个在浏览器中运行的即时通讯应用程序。
哪些浏览器支持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
- Firefox 4.0 – 禁用WebSockets的支持 。 为了使它看到这里 。
- Opera 11 – 禁用支持 。 为了使它看到这里 。
- HyBi-07 +:
- Chrome 14.0
- Firefox 6.0 – 前缀:
MozWebSocket
- IE 9 – 通过可下载的Silverlight扩展
- 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支持的当前状态。
请参阅Autobahn WebSockets中包含的WS测试套件的测试报告 ,了解特性/协议一致性测试。
服务器端
这取决于你使用哪种语言。
在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具有本地支持,并且符合JSR 356标准
- 包含在Java EE 7中的JSR 356将为WebSocket定义Java API, 但尚不稳定和完整 。 有关进度的更多信息,请参阅Arun GUPTA的文章WebSocket和Java EE 7 – 为JSR 356(TOTD#181)和QCon演示 (从00:37:36到00:46:53)做好准备。 你也可以看看Java websocket SDK 。
其他一些Java实现:
- Kaazing Gateway
- jWebscoket
- 网状
- xLightWeb
- Webbit
- 大气层
- 灰熊
- Apache ActiveMQ
V 5.6 supports RFC6455
- Apache Camel
V 2.10 supports RFC6455
- JBoss HornetQ
在C#中:
- XSockets.NET
- SuperWebSocket
- 金块
- 炼金术-的WebSockets
- 斑点
- SignalR
在PHP中:
- 棘轮
- phpwebsocket 。
- 可扩展的Web Socket服务器
- phpdaemon
在Python中:
- pywebsockets
- websockify
- gevent-websocket , gevent-socketio和基于前者的烧瓶插座
- 高速公路
- 龙卷风
在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(也称为Node.x) :在Java 7 JVM上运行的基于Netty的多点实现的节点:
- 支持Ruby(JRuby),Java,Grovy,Javascript(Rhino / Nashorn),Scala,…
- 真正的线程。 (不像Node.js)
- 了解多种网络协议,包括:TCP,SSL,UDP,HTTP,HTTPS,Websockets, SockJS作为WebSocket的后备
Pusher.com是一个通过REST API访问的Websocket云服务。
DotCloud云平台支持Websockets,Java(Jetty Servlet容器),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