Jakie przeglądarki obsługują interfejs API HTML5 WebSocket?

278

Mam zamiar opracować aplikację do obsługi wiadomości błyskawicznych działającą w przeglądarce.

Jakie przeglądarki obsługują interfejs API WebSocket ?

Sareuon
źródło
2
Na naszej stronie projektu Java WebSocket prowadzimy aktualną listę przeglądarek obsługujących WebSocket: jwebsocket.org/browsers.htm
Predrag Stojadinović
62
Powinniśmy starać się aktualizować te odpowiedzi, prawda? Przypuszczam, że lepiej o to zapytać ponownie.
dreeves
5
Najlepsza strona dla HTML5 i powiązanych funkcji to caniuse.com
kanaka
5
Istnieje dobra wiki społeczności o
HTMLs
1
@meagar - Nie zgadzam się. Myślę, że powinien być chroniony jako wiki, aby zapobiec nowym odpowiedziom, ale zachowaj aktualną pomocną odpowiedź. To pytanie ma ponad 100 000 wyświetleń.
Travis J,

Odpowiedzi:

428

Strona klienta

  • 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 - z prefiksem: MozWebSocket
    • IE 10 (z podglądu programisty Windows 8)
  • HyBi-17 / RFC 6455
    • Chrome 16
    • Firefox 11
    • Opera 12.10 / Opera Mobile 12.1

Każda przeglądarka z Flashem może obsługiwać WebSocket za pomocą shim / polyfill web-socket-js .

Zobacz informacje o bieżącym stanie obsługi WebSockets w przeglądarkach stacjonarnych i mobilnych.

Zobacz raporty z testu WS testsuite zawarte w Autobahn WebSockets dla testów zgodności funkcji / protokołu.


Po stronie serwera

To zależy od używanego języka.

W Javie / Java EE:

Niektóre inne implementacje Java:

W C #:

W PHP:

W Pythonie:

W C:

W Node.js:

  • Socket.io : Socket.io ma również porty serwerowe dla Python, Java, Google GO, Rack
  • sockjs : sockjs posiada również porty serwerowe dla Python, Java, Erlang i Lua
  • WebSocket-Node - czysta implementacja klienta i serwera JavaScript w HyBi-10.

Vert.x (znany również jako Node.x) : Węzeł podobny do implementacji polyglot działający na JVM Java 7 i oparty na Netty z:

  • Wsparcie dla Ruby (JRuby), Java, Groovy, JavaScript (Rhino / Nashorn), Scala, ...
  • Prawdziwe wątki. (w przeciwieństwie do Node.js)
  • Rozumie wiele gotowych protokołów sieciowych, w tym: TCP, SSL, UDP, HTTP, HTTPS, Websockets, SockJS jako awaryjne dla WebSockets

Pusher.com to usługa internetowa Websocket dostępna za pośrednictwem interfejsu API REST.

DotCloud platforma cloud obsługuje WebSockets i Java (Jetty Servlet Container), NodeJS, Python, Ruby, PHP i Perl języków programowania.

Platforma chmurowa openshift obsługuje formaty internetowe i formaty Java (Jboss, Spring, Tomcat i Vertx), PHP (ZendServer i CodeIgniter), Ruby (ROR), Node.js, Python (Django i Flask).

Więcej informacji na temat implementacji innych języków znajduje się w artykule w Wikipedii .

RFC dla gniazd sieciowych: RFC6455

Cbe317
źródło
32
+1 za aktualizację. Opera będzie również obsługiwać Websockets w wersji 10.70.
Sasha Chedygov
Racja, myślę, że zmienili nazwę Opery 10.70 w Operze 11 opera.com/browser/next
Cbe317,
3
@Tony: IE9 nie obsługuje WebSockets. Wsparcie eksperymentalne jest dostępne jako dodatek w HTML5 Labs , ale nie jest dostarczane i gotowe.
Shog9
Webbit to doskonały serwer Java WebSocket, który należy dodać do listy.
Aslak Hellesøy,
2
W Go-lang websockets znajdują się w standardowej bibliotece: go.net/websocket
naufraghi