Quais navegadores suportam a API WebSocket HTML5?

278

Vou desenvolver um aplicativo de mensagens instantâneas que é executado no navegador.

Quais navegadores suportam a API WebSocket ?

Sareuon
fonte
2
Estamos mantendo uma lista up-to-date de navegadores WebSocket de apoio em nosso site projeto Java WebSocket: jwebsocket.org/browsers.htm
Predrag Stojadinovic
62
Devemos tentar manter essas respostas atualizadas, certo? Presumo que é preferível pedir novamente.
Dreeves
5
O melhor local para HTML5 e funcionalidade relacionada é caniuse.com
kanaka
5
Há uma boa wiki comunidade sobre HTML5 websockets: stackoverflow.com/questions/4262543/using-html-5-websockets
Wouter Dorgelo
1
@eagar - eu discordo. Eu acho que deve ser protegido como um wiki para evitar novas respostas, mas preservar a resposta útil atual. Esta pergunta tem mais de 100.000 visualizações.
Travis J

Respostas:

428

Lado do 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 - prefixado: MozWebSocket
    • IE 10 (da visualização do desenvolvedor do Windows 8)
  • HyBi-17 / RFC 6455
    • Chrome 16
    • Firefox 11
    • Opera 12.10 / Opera Mobile 12.1

Qualquer navegador com Flash pode oferecer suporte ao WebSocket usando o shim / polyfill web-socket-js .

Consulte caniuse para obter o status atual do suporte ao WebSockets nos navegadores de desktop e móvel.

Consulte os relatórios de teste do WS testinguite incluído no Autobahn WebSockets para obter testes de conformidade de recurso / protocolo.


Lado do servidor

Depende do idioma que você usa.

Em Java / Java EE:

Algumas outras implementações de Java:

Em c #:

Em PHP:

Em Python:

Em C:

No Node.js:

  • Socket.io : O Socket.io também possui portas do servidor para Python, Java, Google GO, Rack
  • sockjs : o sockjs também possui portas do servidor para Python, Java, Erlang e Lua
  • WebSocket-Node - Implementação pura de cliente e servidor JavaScript do HyBi-10.

Vert.x (também conhecido como Node.x) : um nó como a implementação poliglota em execução em uma JVM Java 7 e baseado em Netty com:

  • Suporte para Ruby (JRuby), Java, Groovy, Javascript (Rhino / Nashorn), Scala, ...
  • Rosqueamento verdadeiro. (ao contrário do Node.js)
  • Compreende vários protocolos de rede prontos para uso , incluindo: TCP, SSL, UDP, HTTP, HTTPS, Websockets, SockJS como fallback para WebSockets

Pusher.com é um serviço de nuvem Websocket acessível por meio de uma API REST.

A plataforma de nuvem DotCloud suporta Websockets e Java (Jetty Servlet Container), NodeJS, Python, Ruby, PHP e linguagens de programação Perl.

A plataforma de nuvem Openshift suporta websockets e plataformas Java (Jboss, Spring, Tomcat e Vertx), PHP (ZendServer e CodeIgniter), Ruby (ROR), Node.js, Python (Django e Flask).

Para implementações em outros idiomas, consulte o artigo da Wikipedia para obter mais informações .

O RFC para Websockets: RFC6455

Cbe317
fonte
32
+1 para mantê-lo atualizado. O Opera também terá suporte para Websockets na 10.70.
Sasha Chedygov 29/10/10
Certo, acho que eles renomearam Opera 10.70 no Opera 11 opera.com/browser/next
Cbe317
3
@ Tony: O IE9 não suporta WebSockets. Há suporte experimental disponível como complemento no HTML5 Labs , mas não é fornecido e está pronto.
Shog9
Webbit é um excelente servidor Java WebSocket que deve ser adicionado à lista.
Aslak Hellesøy
2
Em websockets Go-lang estão na biblioteca padrão: go.net/websocket
naufraghi