実はけっこう前からWebSocketの詳しい仕組みについて気になってて、遂に一念発起して調べてみた。何かとても良さげっぽい。 そもそもWebSocketとは Webにおいて双方向通信を低コストで行う為の仕組み。インタラクティブなWebアプリケーションではサーバから任意のタイミングでクライアントに情報の送信とかしたい事があって、例えばFacebookのチャットアプリみたいに多数のクライアントが一つのページにアクセスしてて誰かがメッセージを投稿するとそれをその他のユーザーに通知したい場合があって、そういった時に双方向通信の必要性が出てくる。 元々はWebにおいてはHTTPしか通信の選択肢が無くてHTTPのロングポーリング使って無理矢理双方向通信実現したりしてたんだけど、流石に無駄が多すぎるし辛いよねって事でWebSocketというプロトコルが作られた。 WebSocketにおいては、TCP上で
こんにちは、Misoca開発部のtaiki-tです。 名古屋に引っ越して半年が経ちました。良いところですね。 さて、GWも終わってしまいましたが、2015年は9月にシルバーウィークがあるので、それまで頑張りましょう。 今回は、RailsConf 2015で紹介されたRails 5 についての話を少し紹介したいと思います。 Rails5から加わる主な機能 ActionCable Turbolinks 3.0 Rails API ActionCable ActionCableの「Cable」は、WebSocketを表します。 WebSocketというcableでユーザとアプリケーションをつなげる、というコンセプトに基づきます。 WebSocketと聞いてピンときたかもしれませんが、ActionCableは、Railsにリアルタイム通信の仕組みを取り入れるものです。 これまではRailsでリアル
こんにちは! エイトレッド技術部和田です! エイトレッドでは毎月テーマを決めて、エンジニアが持ち回りで勉強会を実施しています。 世間からは3週ぐらい遅れてる気もしますが、先日はWebSocketをテーマに勉強会を 行いましたので、今回その内容をダイジェスト版でお送りします。 1.WebSocketとは? そもそもWebSocketとは何なのでしょうか? WebSocketとは、クライアント(ブラウザ)とサーバ間で 本当の意味での全二重(双方向)通信を行うためのプロトコルです。 もともとはHTML5の一部として、仕様の策定が進められていましたが その後独立し、単体のプロトコルとして仕様策定が進められています。 WebSocketの特徴としては次の点があげられます。 TCP上で動作 デフォルトポートは 80番 または 443番 明示的に切断しない限り接続され続ける⇒効率的に双方向通信が
1. WebSocketのキホン 2011/12/16 HTML5+IE9 Web Camp 2 with html5j.org NTTアドバンステクノロジ アプリケーションソリューション事業本部 情報機器テクノロジセンタ きんじょう ゆう 金城 雄 2. 自己紹介 きんじょう ゆう 金城 雄 NTTアドバンステクノロジ gihyo.jp NTT-AT アプリケーションソリューション事業本部 Jettyで始める 情報機器テクノロジセンタ所属 WebSocket超入門 http://gihyo.jp/dev/feature/01/websocket より引用 3. 資料について 本番で使用したスライドを オンラインで公開します http://www.slideshare.net/You_Kinjoh/ ※ 発表資料は修正される可能性があります ※ イベントのサイトからも公開される予定だそうで
次世代のWebアプリケーションの中核を担う技術として「HTML5」に注目が集まっているが、それと並んで期待されている技術に「WebSocket」がある。 IETFとW3Cによって仕様の策定が進められており、最初の提案以来幾度もの改訂を経て、2011年12月11日にそのプロトコル仕様がRFCのProposed Standard(RFC 6455)となった。 AjaxからComet、そしてWebSocketへ WebSocketはウェブサーバとブラウザが直接コネクションを張って双方向通信するための技術規格である。HTTPとは異なる独自の軽量プロトコルによって通信を行うため、オーバーヘッドが小さく、長時間に渡って通信する場合でもHTTPコネクションを占有する必要がないというメリットがある。 WebSocketが生まれた背景には、サーバとブラウザがもっとリアルタイムに通信して情報の配信や更新を行え
(訳注:2015/8/4、いただいた翻訳フィードバックを元に記事を修正いたしました。) 本題に入る前に強調しておきます。WebSocketは優れた通信プロトコルです。実際私はこの RFC6455 を、 Fanout のサービスで使っている( Zurl や Pushpin といったパーツで採用しています。Fanoutではまた、 Primus (異なるリアルタイムフレームワーク間での通信を可能とするラッパー)を利用し、 XMPP-FTWインターフェース を介したWebSocket通信をサポートしています。 しかしながら私はこれまで、多くの広く普及しているアプリケーションにかなりの時間を費やし、おかげでRESTやメッセージングパターンについては多少なりとも理解が深まってきた今、実はWebSocketを実装した典型的なWebアプリケーション(もしくはWebSocketライクな抽象化レイヤ)の大部分
先日、NginxのTCP Load BalancingがOSS版でも使えるらしいので試すで書いたとおり、Nginx 1.9よりTCP Load Balancing機能が使える見込みである。 今回は、更にTLS終端を可能にするngx_stream_ssl_moduleも合わせて使用し、WebSocket over TLSの負荷分散を試してみる。 ngx_stream_ssl_module ngx_stream_ssl_moduleでは、接続をTLSで受付け、その中身のメッセージをバックエンドに送信する。 TCP Load Balancingの時と同じようにHTTP/HTTPSに限った機能ではないことが特徴となる。 (ただし、ALPNが必要なプロトコルだと少々扱いが難しい) 使うには、前回同様最新リビジョンをビルドする必要がある http://hg.nginx.org/nginx/ より最新リ
成果物 デモ(Heroku) http://fluxchat.takeyu-web.com/ ソースコード takeyuweb/rails-fluxchat-example · GitHub キーワード Rails 4.2 ActionCable ES6 React Flux (Alt) Action Cable? まだコード全部は読んでないのですが、WebSocketを使ったリアルタイム通信を手軽に実装するためのサーバ・クライアントフレームワーク実装だと感じました。(違ってたらご指摘下さい!) Railsらしく規約に従ってサーバ・クライアント側で所定のクラスを作っておけば、実際の接続処理や接続の監視・再接続、受け取ったデータのハンドリングなど細かいことはActionCableが良い感じにしてくれるっぽい。 なおAction CableのサーバはこれまでのWebサーバ(rails sなやつ
How often do you find that the awesome movie seats you have painstakingly chosen for yourself, is suddenly not available when you proceed to pay for it. “Damn it! Just missed!” you say. Wouldn’t it be great to be guaranteed the seat you selected everytime! The problem with the above scenario (as is with most e-commerce portals) is that, if two users almost simultaneously select same seat and ch
このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 Windows 8 と WebSocket プロトコル Kenny Kerr WebSocket プロトコルの目的は、接続を確立して要求と応答のペアを開始する全責任をクライアントが担う Web 環境で、双方向通信を実現することです。これにより、アプリケーションは TCP のメリットを Web に適した方法で活かすことができるようになります。WebSocket プロトコルは、2011 年 12 月にインターネット技術標準化委員会 (IETF) によって標準化されただけで、この記事の執筆時点では World Wide Web コンソーシアムでもいまだ検討中であることを考えると、Windows 8 でこの新しいイン
RFC6455 - The WebSocket Protocol 日本語訳 この文書は、 IETF による, 2011 年 12 月付け発行 PROPOSED STANDARD RFC 6455 "The WebSocket Protocol" (HTML 版) を日本語に翻訳したものです。 この翻訳には翻訳上の誤りがあるかもしれませんし、正確性は保証されません。 この仕様の公式な文書は英語版であり、この日本語版は公式のものではありません。 最終更新日時点のこのページの URL : http://www.hcn.zaq.ne.jp/___/WEB/RFC6455-ja.html CSS や DOM の対応が古いブラウザでは、閲覧に不具合が生じたり, 一部の切替機能(ウィンドウ左下隅:原文表示=アクセスキー Z, 原語表示=アクセスキー X )が働かないかもしれません( HTML5 から導入
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く