278


242

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

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

1 Answer


426


クライアント側

  • 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-https://developer.mozilla.org/en/WebSockets [サポート WebSockets無効]。 有効にするにはhttp://techdows.com/2010/12/turn-on-websockets-in-firefox-4.html [こちらをご覧ください]。

  • Opera 11- http://my.opera.com/ODIN/blog/2010/12/17/new-html5-features-in-opera-11 [サポートは無効]。 それを有効にするにはhttp://techdows.com/2010/12/enable-websockets-in-opera-11.html [こちら]

  • HyBi-07 +:

  • Chrome 14.0

  • Firefox 6.0-プレフィックス: + MozWebSocket +

  • IE 9-http://html5labs.interoperabilitybridges.com/ [ダウンロード可能 Silverlight拡張機能]

  • HyBi-10:

  • Chrome 14.0 + 15.0

  • Firefox 7.0 + 8.0 + 9.0 + 10.0-プレフィックス: + MozWebSocket +

  • IE 10(Windows 8開発者プレビューから)

  • HyBi-17 / RFC 6455

  • Chrome 16

  • Firefox 11

  • Opera 12.10 / Opera Mobile 12.1

Flashを搭載したブラウザは、https://github.com/gimite/web-socket-js [web-socket-js] shim / polyfillを使用してWebSocketをサポートできます。

デスクトップおよびモバイルブラウザでのWebSocketsサポートの現在の状況については、http://caniuse.com/#search=websocket[caniuse]を参照してください。

機能/プロトコル適合性テストについては、http://www.tavendo.de/autobahn [Autobahn WebSockets]に含まれているWSテストスイートのhttp://www.tavendo.de/autobahn/testsuite.html [テストレポート]を参照してください。

'' '' '

サーバ側

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

Java / Java EEの場合

  • Jetty 7.0サポート(非常に使いやすい) + V 7.5サポートRFC6455 +-http://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00060.html[Jetty 9.1]サポートjavax.websocket / JSR 356 )

  • GlassFish 3.0(非常に低レベルで、時には複雑です)、Glassfish 3.1には、開発者により使いやすい新しいリファクタリングされたWebsocketサポートがあります。

  • Caucho Resin 4.0.2(まだ試されていません) + V 4.0.25はRFC6455 +をサポートします

  • Tomcat 7.0.27現在、それをサポートしています + V 7.0.28サポートRFC6455 +

  • Tomcat 8.xはwebsockets RFC6455をネイティブでサポートし、JSR 356に準拠しています

  • Java EE 7に含まれるJSR 356 WebSocketのJava APIを定義しますが、まだ安定しておらず完全ではありません_。 Arun GUPTAの記事https://blogs.oracle.com/arungupta/entry/websockets_and_java_ee_7 [WebSocketおよびJava EE 7 - JSR 356の準備(TOTD#181)]およびhttp://www.infoq.com/presentations/を参照してください。進捗状況については、Java-EE7-HTML5-Cloud [QConによるプレゼンテーション](00:37:36から00:46:53まで)を参照してください。 http://websocket-sdk.java.net/ [Java websocket SDK]もご覧ください。

他のいくつかのJava実装:

C#の場合:

PHPの場合:

Pythonでは:

Cでは:

Node.jsで:

  • Socket.io:Socket.ioにはサーバーサイドポートもあります。 Python、Java、Google GO、ラック

  • http://sockjs.org [sockjs]:sockjsにはサーバーサイドのポートもあります Python、Java、Erlang、Lua

  • WebSocket-Node-Pure 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、Websocket、https://github.com/sockjs/sockjs-client#readme [SockJS]をWebSocketのフォールバックとして使用

Pusher.comは、REST APIを通じてアクセス可能なWebsocketクラウドサービスです。

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

https://openshift.redhat.com/app/ [Openshift]クラウドプラットフォームはWebソケットとJava(Jboss、Spring、Tomcat)をサポート

他の言語実装については、http://en.wikipedia.org/wiki/Web_Sockets [詳しくはWikipediaの記事を参照してください]。

WebソケットのRFC:http://tools.ietf.org/html/rfc6455 [RFC6455]