web-dev-qa-db-fra.com

Quels navigateurs prennent en charge HTML5 WebSocket API?

Je vais développer une application de messagerie instantanée qui s'exécute dans le navigateur.

Quels navigateurs prennent en charge le WebSocket API ?

278
Sareuon

Côté client

  • 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 - préfixé: MozWebSocket
    • IE 10 (à partir de l'aperçu du développeur Windows 8)
  • HyBi-17/RFC 6455
    • Chrome 16
    • Firefox 11
    • Opera 12.10/Opera Mobile 12.1

Tout navigateur doté de Flash peut prendre en charge WebSocket à l’aide de web-socket-js shim/polyfill.

Voir caniuse pour connaître l'état actuel de la prise en charge de WebSockets dans les navigateurs de bureau et mobiles.

Voir les rapports de test de la suite de tests WS incluse dans Autobahn WebSockets pour les tests de conformité fonction/protocole.


Du côté serveur

Cela dépend de la langue que vous utilisez.

En Java/Java EE:

Quelques autres implémentations de Java:

En C #:

En PHP:

En Python:

En C:

Dans Node.js:

  • Socket.io : Socket.io possède également des ports serveur pour Python, Java, Google GO, Rack
  • sockjs : sockjs possède également des ports serveur pour Python, Java, Erlang et Lua
  • WebSocket-Node - Implémentation HyBi-10 de Pure JavaScript Client & Server.

Vert.x (également appelé Node.x) : nœud semblable à une implémentation polyglotte s'exécutant sur une JVM Java 7 et basé sur Netty avec:

  • Prise en charge de Ruby (JRuby), Java, Grovy, Javascript (Rhino/Nashorn), Scala, ...
  • Vrai filetage. (contrairement à Node.js)
  • Comprend plusieurs protocoles réseau prêts à l'emploi, notamment: TCP, SSL, UDP, HTTP, HTTPS, Websockets, SockJS comme solution de secours pour WebSockets

Pusher.com est un service cloud Websocket accessible via une API REST.

DotCloud la plate-forme cloud prend en charge Websockets, ainsi que Java (conteneur de servlet Jetty), NodeJS, Python, Ruby, PHP et les langages de programmation Perl.

Openshift la plate-forme cloud prend en charge les websockets et Java (Jboss, Spring, Tomcat & Vertx), PHP (ZendServer & CodeIgniter), Ruby (ROR), Node.js, Python (Django & Flask).

Pour les autres implémentations linguistiques, voir l'article de Wikipedia pour plus d'informations .

Le RFC pour les Websockets: RFC6455

427
Cbe317