Какие браузеры поддерживают HTML5 WebSocket API?

Я собираюсь разработать приложение для обмена мгновенными сообщениями, которое работает в браузере.

Какие браузеры поддерживают API WebSocket?

1 ответ

Сторона клиента

Любой браузер с Flash может поддерживать WebSocket, используя web-socket-js shim / polyfill.

См. Caniuse для текущего статуса поддержки WebSockets в настольных и мобильных браузерах.

См. Отчеты об испытаниях из комплекта тестов WS, включенных в Autobahn WebSockets, для проверки соответствия функций / протоколов.


Серверная сторона

Это зависит от того, какой язык вы используете.

В Java / Java EE:

  • Jetty 7.0 поддерживает его (очень прост в использовании) V 7.5 supports RFC6455 - Jetty 9.1 поддерживает javax.websocket / JSR 356)
  • GlassFish 3.0 (очень низкий уровень, а иногда и сложный), Glassfish 3.1 имеет новую переработанную поддержку Websocket, которая более удобна для разработчиков V 3.1.2 supports RFC6455
  • Caucho Resin 4.0.2 (еще не пробовал) V 4.0.25 supports RFC6455
  • Tomcat 7.0.27 теперь поддерживает это V 7.0.28 supports RFC6455
  • Tomcat 8.x имеет встроенную поддержку веб-сокетов RFC6455 и совместим с JSR 356.
  • JSR 356, включенный в Java EE 7, определит Java API для WebSocket, но еще не является стабильным и полным. См. Статью Аруна GUPTA WebSocket и Java EE 7 - Подготовка к JSR 356 (TOTD #181) и презентацию QCon (с 00:37:36 до 00:46:53) для получения дополнительной информации о прогрессе. Вы также можете посмотреть на Java Websocket SDK.

Некоторые другие реализации Java:

В C#:

В PHP:

В Python:

В С:

В Node.js:

  • http://socket.io/: Socket.io также имеет серверные порты для Python, Java, Google GO, Rack
  • sockjs: sockjs также имеет серверные порты для Python, Java, Erlang и Lua
  • WebSocket-Node - Чистый JavaScript-клиент и серверная реализация HyBi-10.

Vert.x (также известный как Node.x): узел, подобный реализации полиглота, работающий на Java 7 JVM и основанный на Netty с:

  • Поддержка Ruby(JRuby), Java, Grovy, Javascript(Rhino/Nashorn), Scala, ...
  • Истинный поток. (в отличие от Node.js)
  • Понимает множество сетевых протоколов из коробки, включая: TCP, SSL, UDP, HTTP, HTTPS, Websockets, SockJS как запасной вариант для WebSockets

http://pusher.com/ - облачный сервис Websocket, доступный через REST API.

Облачная платформа DotCloud поддерживает языки программирования Websockets и Java (Jetty Servlet Container), NodeJS, Python, Ruby, PHP и Perl.

Облачная платформа Openshift поддерживает веб-сокеты и платформы Java (Jboss, Spring, Tomcat и Vertx), PHP (ZendServer & CodeIgniter), Ruby (ROR), Node.js, Python (Django & Flask).

Для других языковых реализаций, см. Статью Wikipedia для получения дополнительной информации.

RFC для веб-сокетов: RFC6455

Другие вопросы по тегам