web-dev-qa-db-ja.com

どのブラウザがHTML5 WebSocket APIをサポートしていますか?

ブラウザで動作するインスタントメッセージングアプリケーションを開発します。

どのブラウザが WebSocket API をサポートしていますか?

278
Sareuon

クライアント側

Flashを搭載したブラウザはすべて web-socket-js shim/polyfillを使用してWebSocketをサポートできます。

デスクトップおよびモバイルブラウザでのWebSocketサポートの現在の状況については、 caniuse を参照してください。

機能/プロトコル適合性テストについては、 Autobahn WebSockets に含まれるWSテストスイートの テストレポート を参照してください。


サーバ側

どの言語を使うかによって異なります。

Java/Java EEの場合

他のいくつかのJava実装:

C#の場合:

PHPの場合:

Pythonでは:

Cでは:

Node.jsで:

  • Socket.io :Socket.ioにはPython、Java、Google GO、Rack用のサーバサイドポートもあります。
  • sockjs :sockjsには、Python、Java、Erlang、Lua用のサーバサイドポートもあります。
  • WebSocket-Node - HyBi-10の純粋なJavaScriptクライアントおよびサーバー実装。

Vert.x(Node.xとも呼ばれる) :Java 7 JVM上で動作し、Nettyをベースとしたpolyglot実装のようなノード。

  • Ruby(JRuby)、Java、Grovy、Javascript(Rhino/Nashorn)、Scala、...のサポート.
  • 真のスレッディング(Node.jsとは異なります)
  • TCP、SSL、UDP、HTTP、HTTPS、Webソケット、WebSocketの代替としての SockJS など、すぐに使える複数のネットワークプロトコルを理解できます。

Pusher.com はREST AP​​Iを介してアクセス可能なWebsocketクラウドサービスです。

DotCloud クラウドプラットフォームはWebソケット、Java(Jettyサーブレットコンテナ)、NodeJS、Python、Ruby、PHPおよびPerlプログラミング言語をサポートします。

Openshift クラウドプラットフォームはWebソケットをサポートし、Java(Jboss、Spring、Tomcat、Vertx)、PHP(ZendServer、CodeIgniter)、Ruby(ROR)、Node.js、Python(Django) &Flask)plateforms。

他の言語の実装では、 詳しくはWikipediaの記事を参照してください

WebソケットのRFC: RFC6455

426
Cbe317