What browsers support HTML5 WebSocket API?

211,158

Client side

  • Hixie-75:
  • Chrome 4.0 + 5.0
  • Safari 5.0.0
  • HyBi-00/Hixie-76:
  • Chrome 6.0 - 13.0
  • Safari 5.0.2 + 5.1
  • iOS 4.2 + iOS 5
  • Firefox 4.0 - support for WebSockets disabled. To enable it see here.
  • Opera 11 - with support disabled. To enable it see here.
  • HyBi-07+:
  • Chrome 14.0
  • Firefox 6.0 - prefixed: MozWebSocket
  • IE 9 - via downloadable Silverlight extension
  • HyBi-10:
  • Chrome 14.0 + 15.0
  • Firefox 7.0 + 8.0 + 9.0 + 10.0 - prefixed: MozWebSocket
  • IE 10 (from Windows 8 developer preview)
  • HyBi-17/RFC 6455
  • Chrome 16
  • Firefox 11
  • Opera 12.10 / Opera Mobile 12.1

Any browser with Flash can support WebSocket using the web-socket-js shim/polyfill.

See caniuse for the current status of WebSockets support in desktop and mobile browsers.

See the test reports from the WS testsuite included in Autobahn WebSockets for feature/protocol conformance tests.


Server side

It depends on which language you use.

In Java/Java EE:

Some other Java implementations:

In C#:

In PHP:

In Python:

In C:

In Node.js:

  • Socket.io : Socket.io also has serverside ports for Python, Java, Google GO, Rack
  • sockjs : sockjs also has serverside ports for Python, Java, Erlang and Lua
  • WebSocket-Node - Pure JavaScript Client & Server implementation of HyBi-10.

Vert.x (also known as Node.x) : A node like polyglot implementation running on a Java 7 JVM and based on Netty with :

  • Support for Ruby(JRuby), Java, Groovy, Javascript(Rhino/Nashorn), Scala, ...
  • True threading. (unlike Node.js)
  • Understands multiple network protocols out of the box including: TCP, SSL, UDP, HTTP, HTTPS, Websockets, SockJS as fallback for WebSockets

Pusher.com is a Websocket cloud service accessible through a REST API.

DotCloud cloud platform supports Websockets, and Java (Jetty Servlet Container), NodeJS, Python, Ruby, PHP and Perl programming languages.

Openshift cloud platform supports websockets, and Java (Jboss, Spring, Tomcat & Vertx), PHP (ZendServer & CodeIgniter), Ruby (ROR), Node.js, Python (Django & Flask) plateforms.

For other language implementations, see the Wikipedia article for more information.

The RFC for Websockets : RFC6455

Share:
211,158

Related videos on Youtube

Sareuon
Author by

Sareuon

Updated on December 26, 2020

Comments

  • Sareuon
    Sareuon over 3 years

    I am going to develop an instant messaging application that runs in the browser.

    What browsers support the WebSocket API?

    • Predrag Stojadinović
      Predrag Stojadinović over 14 years
      We are keeping an up-to-date list of WebSocket supporting browsers on our Java WebSocket project website: jwebsocket.org/browsers.htm
    • dreeves
      dreeves about 14 years
      We should try to keep these answers up to date, right? I presume that's preferable to re-asking it.
    • kanaka
      kanaka over 13 years
      The best site for HTML5 and related functionality is caniuse.com
    • Wouter Dorgelo
      Wouter Dorgelo over 13 years
      There's a good community wiki about HTML5 websockets: stackoverflow.com/questions/4262543/using-html-5-websockets
    • user229044
      user229044 over 11 years
      This entire question should be closed and deleted, it's not what Stack Overflow is for. Hit up caniuse.com instead.
    • Travis J
      Travis J over 11 years
      @meagar - I disagree. I think it should be protected as a wiki to prevent new answers, but preserve the current helpful answer. This question has over 100,000 views.
    • user229044
      user229044 over 11 years
      @TravisJ Answers to this question are out of date pretty much as soon as they're posted. The answers below devolve into everything from pitching commercial products to random postings about personal favourite tutorials on websocks. This entire question could read "WEBSOCKETS: DISCUSS". It's a forum post, and it's completely off-topic for Stack Overflow.
    • Travis J
      Travis J over 11 years
      @meagar - Hence protection. The main answer here should remain. The other answers should be deleted because they lack quality, as you point out. If you feel so strongly about them, you should flag them for deletion.
    • user229044
      user229044 over 11 years
      @TravisJ Why? The main answer is bad. It isn't useful if it can't be constantly updated, and that's not he kind of question Stack Overflow is for. I could run through 90% of the answers here and mark them as "not an answer". They're links to random libraries, random tutorials, random tidbits, almost all of them should be comments at best.
    • Colonel Panic
      Colonel Panic over 11 years
    • Xsi
      Xsi about 10 years
      The question is necessary. And a comment "to closed as too localized by" - it's really a moment in time but not relevant to a small geographic area. Not at all!
  • Sasha Chedygov
    Sasha Chedygov over 13 years
    +1 for keeping it up to date. Opera will also have Websockets support in 10.70.
  • Cbe317
    Cbe317 over 13 years
    Right, I think they renamed Opera 10.70 in Opera 11 opera.com/browser/next
  • Shog9
    Shog9 over 13 years
    @Tony: IE9 does not support WebSockets. There's experimental support available as an add-on in HTML5 Labs, but not shipped and ready.
  • Aslak Hellesøy
    Aslak Hellesøy over 12 years
    Webbit is an excellent Java WebSocket server that should be added to the list.
  • Ramesh Prasad
    Ramesh Prasad over 12 years
    Update: Chrome 16 uses hybi-17 now.
  • Michael Trouw
    Michael Trouw almost 12 years
    caniuse.com does not display all browsers, there is, for example, also google chrome on IOS. i have no idea if it supports websockets at all, and if, which protocols / implementations.
  • nilskp
    nilskp over 11 years
    IE10 will support websockets, but not IE9.
  • naufraghi
    naufraghi over 10 years
    In Go-lang websockets are in the standard library: go.net/websocket
  • Simon Gillbee
    Simon Gillbee about 10 years
    For C#, you can WCF 4.5 (ships with VS 2013). This has built-in support for websockets now.
  • Cbe317
    Cbe317 almost 10 years
    Caniuse is still referenced in client part.
  • Jiloc
    Jiloc over 9 years
    for server side i would add uWSGI. uwsgi-docs.readthedocs.org/en/latest/WebSockets.html
  • mox601
    mox601 over 9 years
    also play seems to offer server side web sockets playframework.com/documentation/2.3.x/JavaWebSockets
  • Vibha
    Vibha over 6 years
    Excellent summary. With respect to Firefox, the following link says that RFC 6455 is supported by version 48.0 and above: developer.mozilla.org/en-US/docs/Web/API/WebSockets_API