Quali browser supportano l'API WebSocket HTML5?


278

Ho intenzione di sviluppare un'applicazione di messaggistica istantanea che viene eseguita nel browser.

Quali browser supportano l' API WebSocket ?


2
Manteniamo un elenco aggiornato di WebSocket che supportano i browser sul nostro sito Web del progetto Java WebSocket: jwebsocket.org/browsers.htm
Predrag Stojadinović

62
Dovremmo cercare di mantenere aggiornate queste risposte, giusto? Presumo che sia preferibile chiederlo nuovamente.
Dreeves,

5
Il sito migliore per HTML5 e funzionalità correlate è caniuse.com
Kanaka

5
C'è una buona comunità wiki su HTML5 WebSocket: stackoverflow.com/questions/4262543/using-html-5-websockets
Wouter Dorgelo

1
@meagar - Non sono d'accordo. Penso che dovrebbe essere protetto come wiki per prevenire nuove risposte, ma preservare l'attuale risposta utile. Questa domanda ha oltre 100.000 visualizzazioni.
Travis J,

Risposte:


428

Dalla parte del cliente

  • Hixie-75:
    • Chrome 4.0 + 5.0
    • Safari 5.0.0
  • HyBi-00 / Hixie-76:
  • HyBi-07 +:
  • HyBi-10:
    • Chrome 14.0 + 15.0
    • Firefox 7.0 + 8.0 + 9.0 + 10.0 - con prefisso: MozWebSocket
    • IE 10 (dall'anteprima dello sviluppatore di Windows 8)
  • HyBi-17 / RFC 6455
    • Chrome 16
    • Firefox 11
    • Opera 12.10 / Opera Mobile 12.1

Qualsiasi browser con Flash può supportare WebSocket utilizzando lo shim / polyfill di web-socket-js .

Vedi caniuse per lo stato attuale del supporto WebSocket nei browser desktop e mobili.

Per i test di conformità di funzionalità / protocollo, consultare i report di test della suite di test WS inclusa in WebSocket Autobahn .


Lato server

Dipende dalla lingua che usi.

In Java / Java EE:

Alcune altre implementazioni Java:

In C #:

In PHP:

In Python:

In C:

In Node.js:

  • Socket.io : Socket.io ha anche porte lato server per Python, Java, Google GO, Rack
  • sockjs : sockjs ha anche porte sul lato server per Python, Java, Erlang e Lua
  • WebSocket-Node - Implementazione pura di client e server JavaScript di HyBi-10.

Vert.x (noto anche come Node.x) : un nodo come l'implementazione poliglotta in esecuzione su una JVM Java 7 e basato su Netty con:

  • Supporto per Ruby (JRuby), Java, Groovy, Javascript (Rhino / Nashorn), Scala, ...
  • Vero threading. (a differenza di Node.js)
  • Comprende più protocolli di rete predefiniti tra cui: TCP, SSL, UDP, HTTP, HTTPS, Websocket, SockJS come fallback per WebSocket

Pusher.com è un servizio cloud Websocket accessibile tramite un'API REST.

La piattaforma cloud DotCloud supporta Websocket e linguaggi di programmazione Java (Jetty Servlet Container), NodeJS, Python, Ruby, PHP e Perl.

La piattaforma cloud Openshift supporta websocket e formati di lastre Java (Jboss, Spring, Tomcat e Vertx), PHP (ZendServer & CodeIgniter), Ruby (ROR), Node.js, Python (Django & Flask).

Per altre implementazioni linguistiche, consultare l'articolo di Wikipedia per ulteriori informazioni .

RFC per Websocket: RFC6455


32
+1 per tenerlo aggiornato. Opera avrà anche il supporto Websocket in 10.70.
Sasha Chedygov,

Bene, penso che abbiano ribattezzato Opera 10.70 in Opera 11 opera.com/browser/next
Cbe317

3
@Tony: IE9 non supporta WebSocket. Il supporto sperimentale è disponibile come componente aggiuntivo in HTML5 Labs , ma non è spedito e pronto.
Shog9

Webbit è un eccellente server WebSocket Java che dovrebbe essere aggiunto all'elenco.
Aslak Hellesøy,

2
In Go-lang i websocket sono nella libreria standard: go.net/websocket
naufraghi,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.