Welche Browser unterstützen die HTML5 WebSocket API?

278

Ich werde eine Instant Messaging-Anwendung entwickeln, die im Browser ausgeführt wird.

Welche Browser unterstützen die WebSocket-API ?

Sareuon
quelle
2
Wir führen eine aktuelle Liste der WebSocket-unterstützenden Browser auf unserer Java WebSocket-Projektwebsite: jwebsocket.org/browsers.htm
Predrag Stojadinović
62
Wir sollten versuchen, diese Antworten auf dem neuesten Stand zu halten, oder? Ich nehme an, das ist besser, als es noch einmal zu fragen.
Dreeves
5
Die beste Seite für HTML5 und verwandte Funktionalität ist caniuse.com
kanaka
5
Es gibt ein gutes Community-Wiki über HTML5-Websockets: stackoverflow.com/questions/4262543/using-html-5-websockets
Wouter Dorgelo
1
@meagar - Ich bin anderer Meinung. Ich denke, es sollte als Wiki geschützt werden, um neue Antworten zu verhindern, aber die aktuelle hilfreiche Antwort beizubehalten. Diese Frage hat über 100.000 Aufrufe.
Travis J

Antworten:

428

Client-Seite

Jeder Browser mit Flash kann WebSocket mithilfe von web-socket-js shim / polyfill unterstützen.

Informationen zum aktuellen Status der WebSockets-Unterstützung in Desktop- und mobilen Browsern finden Sie unter caniuse .

Informationen zu Konformitätstests für Funktionen / Protokolle finden Sie in den Testberichten der WS-Testsuite in Autobahn WebSockets .


Serverseite

Es hängt davon ab, welche Sprache Sie verwenden.

In Java / Java EE:

Einige andere Java-Implementierungen:

In C #:

In PHP:

In Python:

In C:

In Node.js:

  • Socket.io : Socket.io verfügt auch über serverseitige Ports für Python, Java, Google GO und Rack
  • sockjs : sockjs hat auch serverseitige Ports für Python, Java, Erlang und Lua
  • WebSocket-Node - Reine JavaScript-Client- und Server-Implementierung von HyBi-10.

Vert.x (auch als Node.x bekannt) : Ein Knoten wie eine Polyglot-Implementierung, die auf einer Java 7-JVM ausgeführt wird und auf Netty basiert mit:

  • Unterstützung für Ruby (JRuby), Java, Groovy, Javascript (Rhino / Nashorn), Scala, ...
  • Echtes Threading. (im Gegensatz zu Node.js)
  • Versteht mehrere sofort einsatzbereite Netzwerkprotokolle, einschließlich: TCP, SSL, UDP, HTTP, HTTPS, Websockets, SockJS als Fallback für WebSockets

Pusher.com ist ein Websocket-Clouddienst, auf den über eine REST-API zugegriffen werden kann.

Die DotCloud- Cloud-Plattform unterstützt Websockets sowie die Programmiersprachen Java (Jetty Servlet Container), NodeJS, Python, Ruby, PHP und Perl.

Die Cloud-Plattform von Openshift unterstützt Websockets und Java- (Jboss, Spring, Tomcat & Vertx), PHP- (ZendServer & CodeIgniter), Ruby- (ROR), Node.js- und Python- (Django & Flask) Plattenformen.

Weitere Sprachimplementierungen finden Sie im Wikipedia-Artikel .

Der RFC für Websockets: RFC6455

Cbe317
quelle
32
+1 für die Aktualisierung. Opera wird in 10.70 auch Websockets unterstützen .
Sasha Chedygov
Richtig, ich denke, sie haben Opera 10.70 in Opera 11 umbenannt. Opera.com/browser/next
Cbe317
3
@ Tony: IE9 unterstützt keine WebSockets. In HTML5 Labs ist experimentelle Unterstützung als Add-On verfügbar , die jedoch nicht ausgeliefert und bereit ist.
Shog9
Webbit ist ein ausgezeichneter Java WebSocket-Server, der der Liste hinzugefügt werden sollte.
Aslak Hellesøy
2
In Go-lang befinden sich Websockets
naufraghi