我将开发一个在浏览器中运行的即时消息应用程序.
哪些浏览器支持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支持的当前状态,请参阅caniuse.
请参阅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套接字服务器
phpdaemon
在Python中:
pywebsockets
websockify
基于前者的gevent-websocket,gevent-socketio和flask-socket
高速公路
龙卷风
在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作为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文章以获取更多信息.
RFC for Websockets:RFC6455