Upload
Download free for 30 days
Login
Submit Search
これから利用拡大?WebSocket
15 likes
11,640 views
AdvancedTechNight
AdvancedTechNight No.6 Session #1
Technology
Read more
1 of 25
Download now
Downloaded 53 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
More Related Content
PPTX
再入門、サーバープッシュ技術
Shin Sekaryo
PDF
サーバPUSHざっくりまとめ
Yasuhiro Mawarimichi
PDF
WebSocket / WebRTCの技術紹介
Yasuhiro Mawarimichi
PPT
websocket-survery
hogemaru_
PDF
Janogia20120921 yoshinotakeshi
Keisuke Ishibashi
PDF
第2回Web技術勉強会 webパフォーマンス改善編
tzm_freedom
PPT
Webアプリケーションの無停止稼働
Kazuho Oku
PDF
WebSocket Protocol と Plack::Middleware::WebSocket
Yu Nobuoka
再入門、サーバープッシュ技術
Shin Sekaryo
サーバPUSHざっくりまとめ
Yasuhiro Mawarimichi
WebSocket / WebRTCの技術紹介
Yasuhiro Mawarimichi
websocket-survery
hogemaru_
Janogia20120921 yoshinotakeshi
Keisuke Ishibashi
第2回Web技術勉強会 webパフォーマンス改善編
tzm_freedom
Webアプリケーションの無停止稼働
Kazuho Oku
WebSocket Protocol と Plack::Middleware::WebSocket
Yu Nobuoka
What's hot
(20)
PDF
2012/6/10 Webのパフォーマンスを考える @ 【第三回】初心者向けホームページ勉強会
tama200x Kobayashi
PDF
H2O - making HTTP better
Kazuho Oku
PDF
Html5, Web Applications 2
totty jp
PDF
Kansai.pm#15 Perl Ocean
Kazuki KOMORI
PPTX
Apacheチューニング
ii012014
PDF
InfiniBand on Debian
Taisuke Yamada
PDF
lua_nginx_module JSON-RPC 2.0 Batch Request
mosa siru
PPTX
中小規模サービスのApacheチューニング
勲 國府田
PDF
第1回Webサーバ勉強会 - 212-223 ブラウザマッチ処理
Seiichiro Ishida
PDF
Webサーバのチューニング
Yu Komiya
PDF
Word press on conoha このべん #3
Wataru OKAMOTO
PDF
ノンプログラマのためのウェブサーバ入門
Atsu Yamaga
PPTX
20140926 mt cloud_handson_seminar
Six Apart
PDF
10分でわかる marathon-lb
Shuji Yamada
PPT
Study2study3 nslope
Noriyasu Sakaue
PPTX
Varnish
Ayako Hatori
PDF
さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...
さくらインターネット株式会社
PPTX
軽量高機能webサーバーnginx
ngi group.
PPTX
Windows azureを知ろう ロール&ストレージ編
Chiho Otonashi
PPTX
簡単なHTTPサーバの作成
Panu Avakul
2012/6/10 Webのパフォーマンスを考える @ 【第三回】初心者向けホームページ勉強会
tama200x Kobayashi
H2O - making HTTP better
Kazuho Oku
Html5, Web Applications 2
totty jp
Kansai.pm#15 Perl Ocean
Kazuki KOMORI
Apacheチューニング
ii012014
InfiniBand on Debian
Taisuke Yamada
lua_nginx_module JSON-RPC 2.0 Batch Request
mosa siru
中小規模サービスのApacheチューニング
勲 國府田
第1回Webサーバ勉強会 - 212-223 ブラウザマッチ処理
Seiichiro Ishida
Webサーバのチューニング
Yu Komiya
Word press on conoha このべん #3
Wataru OKAMOTO
ノンプログラマのためのウェブサーバ入門
Atsu Yamaga
20140926 mt cloud_handson_seminar
Six Apart
10分でわかる marathon-lb
Shuji Yamada
Study2study3 nslope
Noriyasu Sakaue
Varnish
Ayako Hatori
さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...
さくらインターネット株式会社
軽量高機能webサーバーnginx
ngi group.
Windows azureを知ろう ロール&ストレージ編
Chiho Otonashi
簡単なHTTPサーバの作成
Panu Avakul
Ad
Similar to これから利用拡大?WebSocket
(20)
PPTX
JavaプログラマのためのWebSocket概要
Shumpei Shiraishi
PDF
WebSocket + Node.jsでつくるチャットアプリ
Kohei Kadowaki
PDF
HttpとTelnetをつなぐ何か
ShigekiYamada
PPTX
Chromebook 「だけ」で WebRTCを動かそう
mganeko
PDF
Nodejsによるwebsocket入門
Daiki Hayakawa
PDF
Vitochaを用いた Jail+VIMAGE Webインターフェイス
shutingrz
PDF
Gaeja20121130
Shinichiro Takezaki
PDF
いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21
Takakiyo Tanaka
PDF
Web基礎
stx_kata
PDF
AndroidでWebSocket
Kohei Kadowaki
PPT
Lesson01
MRI
PPTX
SL囲む会東京5 Nodejs×Silverlightではまったこと
normalian
PDF
Mvc conf session_5_isami
Hiroshi Okunushi
PDF
猫でも分かる Android WebKit
Naruto TAKAHASHI
PDF
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
Kensaku Komatsu
PPTX
10th jan 2013_miyazaki
Kensaku Komatsu
PPTX
5jCup WebRTC賞
Yusuke Naka
PDF
【17-A-5】ウェブアーキテクチャの歴史と未来
Developers Summit
PDF
後期第七回ネットワークチーム講座資料
densan_teacher
PPT
Webサーバの基礎知識【編集済み】
Kikunaga Taishi
JavaプログラマのためのWebSocket概要
Shumpei Shiraishi
WebSocket + Node.jsでつくるチャットアプリ
Kohei Kadowaki
HttpとTelnetをつなぐ何か
ShigekiYamada
Chromebook 「だけ」で WebRTCを動かそう
mganeko
Nodejsによるwebsocket入門
Daiki Hayakawa
Vitochaを用いた Jail+VIMAGE Webインターフェイス
shutingrz
Gaeja20121130
Shinichiro Takezaki
いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21
Takakiyo Tanaka
Web基礎
stx_kata
AndroidでWebSocket
Kohei Kadowaki
Lesson01
MRI
SL囲む会東京5 Nodejs×Silverlightではまったこと
normalian
Mvc conf session_5_isami
Hiroshi Okunushi
猫でも分かる Android WebKit
Naruto TAKAHASHI
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
Kensaku Komatsu
10th jan 2013_miyazaki
Kensaku Komatsu
5jCup WebRTC賞
Yusuke Naka
【17-A-5】ウェブアーキテクチャの歴史と未来
Developers Summit
後期第七回ネットワークチーム講座資料
densan_teacher
Webサーバの基礎知識【編集済み】
Kikunaga Taishi
Ad
More from AdvancedTechNight
(20)
PDF
CSS3Rendererを使ってiOSでもサクサク3D
AdvancedTechNight
PDF
D3.jsと学ぶVisualization(可視化)の世界
AdvancedTechNight
PDF
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
AdvancedTechNight
PDF
CSSだけで実現するグラフィック表現
AdvancedTechNight
PDF
全部入り!WGPで高速JavaScript+HML5体験
AdvancedTechNight
PDF
Backbone.js入門
AdvancedTechNight
PDF
TypeScriptのススメ ~JavaエンジニアのためのJava(like)Script
AdvancedTechNight
PDF
three.jsで作る3Dの世界
AdvancedTechNight
PDF
単なるキャッシュじゃないよ!?infinispanの紹介
AdvancedTechNight
PDF
Stormの注目の新機能TridentAPI
AdvancedTechNight
PDF
Spine入門
AdvancedTechNight
PDF
分散ストリーム処理フレームワーク Apache S4
AdvancedTechNight
PDF
Twitterのリアルタイム分散処理システム「Storm」入門 demo
AdvancedTechNight
PDF
Twitterのリアルタイム分散処理システム「Storm」入門
AdvancedTechNight
PDF
ログ収集フレームワークの新バージョン「FlumeNG」
AdvancedTechNight
PPTX
Hadoop scr第7回 hw2011フィードバック
AdvancedTechNight
PPTX
ななめ45°から見たJavaOne
AdvancedTechNight
PPTX
ATN No.1 MapReduceだけでない!? Hadoopとその仲間たち
AdvancedTechNight
PPTX
ATN No.1 Hadoop vs Amazon EMR
AdvancedTechNight
PDF
ATN No.2 大阪から来たJavaPuzzlers
AdvancedTechNight
CSS3Rendererを使ってiOSでもサクサク3D
AdvancedTechNight
D3.jsと学ぶVisualization(可視化)の世界
AdvancedTechNight
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
AdvancedTechNight
CSSだけで実現するグラフィック表現
AdvancedTechNight
全部入り!WGPで高速JavaScript+HML5体験
AdvancedTechNight
Backbone.js入門
AdvancedTechNight
TypeScriptのススメ ~JavaエンジニアのためのJava(like)Script
AdvancedTechNight
three.jsで作る3Dの世界
AdvancedTechNight
単なるキャッシュじゃないよ!?infinispanの紹介
AdvancedTechNight
Stormの注目の新機能TridentAPI
AdvancedTechNight
Spine入門
AdvancedTechNight
分散ストリーム処理フレームワーク Apache S4
AdvancedTechNight
Twitterのリアルタイム分散処理システム「Storm」入門 demo
AdvancedTechNight
Twitterのリアルタイム分散処理システム「Storm」入門
AdvancedTechNight
ログ収集フレームワークの新バージョン「FlumeNG」
AdvancedTechNight
Hadoop scr第7回 hw2011フィードバック
AdvancedTechNight
ななめ45°から見たJavaOne
AdvancedTechNight
ATN No.1 MapReduceだけでない!? Hadoopとその仲間たち
AdvancedTechNight
ATN No.1 Hadoop vs Amazon EMR
AdvancedTechNight
ATN No.2 大阪から来たJavaPuzzlers
AdvancedTechNight
これから利用拡大?WebSocket
1.
Advanced Tech Night
No.06 これから利用拡大?WebSocket 2013/03/15 Acroquest Technology 阪本 雄一郎
2.
自己紹介 阪本 雄一郎(さかもと
ゆういちろう) Acroquest Technology株式会社 OSSの評価や、 それを利用した標準プラットフォームの開発を やってます。 ① Hadoop ② Mahout ③ Zabbix ④ Nginx etc… 1 Advanced Tech Night
3.
目次 1.
次世代標準 HTML5 2. ブラウザで双方向通信 WebSocket 3. 今までの通信方式との違い 4. サポート状況 5. デモ 6. クライアントサイド実装 7. サーバサイド実装 8. 使用上の注意点 9. まとめ 2 Advanced Tech Night
4.
1. 次世代標準 HTML5 HTML5とは・・・ プロプライエタリなプラグインとして提供されている リッチインターネットアプリケーションのプラット フォームを置き換えることを標榜しており、ウェブ アプリケーションのプラットフォームとしての機能 やマルチメディア要素が実装されている。
(Wikipedia) 3 Advanced Tech Night
5.
1. 次世代標準 HTML5 HTML5とは・・・ ブラウザの標準機能でリッチな画面・機能を実現 できるようにするための規格。
4 Advanced Tech Night
6.
1. 次世代標準 HTML5
HTML4では ① 基本、「動かない」ページの構築。 →アニメーションはFlashで。 ② ちょっとだけ賢い入力フォームを作るにも、jQuery などのライブラリが必要。 HTML5だと ① Canvasが使える。 →アニメーションはJavaScriptで。 ② 日付入力など、よく使う入力 フォームはデフォルトで搭載。 5 Advanced Tech Night
7.
2. ブラウザで双方向通信 WebSocket WebSocketとは・・・ コンピュータ・ネットワーク用の通信規格の1つである。イ ンターネットの標準化団体であるW3CとIETFがウェブサー バーとウェブブラウザとの間の通信のために規定を予定 している双方向通信用の技術規格であり、APIはW3Cが、 WebSocket
プロトコルはIETFが策定に関与している。プ ロトコルの仕様は RFC 6455。TCP上で動く。 (Wikipedia) 6 Advanced Tech Night
8.
2. ブラウザで双方向通信 WebSocket WebSocketとは・・・ Webブラウザ上で双方向リアルタイム通信を行う ための規格。
HTML5の仕様から分離 !? ・・・ ○×△ 7 Advanced Tech Night
9.
2. ブラウザで双方向通信 WebSocket 1.
真のリアルタイム通信をサポート。 2. セキュア通信をサポート。 →HTTPSに相当するプロトコルが存在するため、業務利用もし やすい。 クライアント Web/APサーバ DBサーバ WebSocketServer 8 Advanced Tech Night
10.
3. 今までの通信方式との違い ブラウザとWebサーバ間の通信方式には、 登場順に以下の方式があります。 ①
Ajax ② Comet ③ WebSocket それぞれについて、簡単に説明します。 9 Advanced Tech Night
11.
3-1. Ajax概要① 1. Asynchronous
JavaScript + XMLの略。 2. 文字通り、「非同期通信」を行う手法。 →ページ遷移をしないでデータの送受信を行う。 ページ表示 GET /index.html 要求 HTMLページを HTTP 200 OK 返却 JavaScriptから リクエスト送信 GET /getInfo.htm (Ajax) クライアントからの HTTP 200 OK リクエストを受けて、 XMLやJSON データを返却 10 Advanced Tech Night
12.
3-1. Ajax概要②
• ほぼすべてのブラウザで使用可能。 (IE6でも使用できる。) • クライアントからのポーリング方式のため、 サーバからのリアルタイム通知には 向かない。 11 Advanced Tech Night
13.
3-2. Comet概要① 1. Ajaxでできなかったリアルタイム通知を擬似的に実現。 2.
サーバサイドでリクエストを受け取った後、タイムアウトぎりぎり までレスポンスを返さない。 ページ表示要求 GET /index.html HTTP 200 OK HTMLページ JavaScriptから リクエスト送信 GET /getInfo.htm (Comet) イベントが発生 するまで待機 HTTP 200 OK イベント発生 12 Advanced Tech Night
14.
3-2. Comet概要②
• 擬似リアルタイム通信が可能。 • タイムアウトぎりぎりまで接続を保持するた め、リソース消費が大きい。 →接続中はずっとスレッドを占有するため、 C10K問題が発生する。 13 Advanced Tech Night
15.
3-3. WebSocket概要① 専用プロトコルでリアルタイム双方向通信を実現。
画面遷移開始 GET /index.html HTTP 200 OK HTMLページ 特殊ヘッダ付与 GET /start プロトコル 以降、WebSocket HTTP 101 Switching Protocols 切り替え プロトコルで 送受信 メッセージ サーバ/クライ メッセージ アントどちらから でも送信可能 メッセージ 14 Advanced Tech Night
16.
3-3. WebSocket概要②
• ソケット通信と同様、リアルタイムな 双方向通信が可能。 • 専用プロトコルを使用するため、通信の オーバーヘッドが少ない。 • IE9までは対応していない。 15 Advanced Tech Night
17.
4. サポート状況 ・・・といっても、 最新のIE10ではWebSocketをサポート。
ブラウザ IE Chrome FireFox Safari サポート開始バージョン(※1) 10 16 11 6 最新バージョン(※2) 10 25 19 6 今後はWebSocketを使用したシステムが 増えてくる可能性大! (※1) Wikipedia調べ (※2) 2013/03/15現在 16 Advanced Tech Night
18.
5. デモ 複数端末のブラウザ間で、画面遷移が連動するデモを 作ってみた。
左! 左 左 左! 左 Java7 左! Tomcat7 WebSocket 17 Advanced Tech Night
19.
6. クライアントサイド実装 1. JavaScriptでWebSocketオブジェクトを生成。 2.
接続時やメッセージ受信時のイベントフック関 数を登録。 var ws = new WebSocket( "ws://localhost:8080/WebSocketServer/websocket/CarouselServlet"); ws.onopen = function(){ }; ws.onmessage = function(message){ $carousel.carousel(message.data); }; ws.onerror = function(event){ $("#message").html("Error occurred."); }; 18 Advanced Tech Night
20.
6. クライアントサイド実装 1. メッセージ送信はsendメソッドを呼ぶのみ。 ws.send($(this).attr("data-slide"));
※sendは非同期で実行されます。 19 Advanced Tech Night
21.
7. サーバサイド実装 1. TomcatにWebSocketServletクラスが用意され
ているため、それを継承。 2. createWebSocketInboundメソッドで、送受信を 行うオブジェクト(MessageInboundクラスのサブ クラス)を返却。 public class CarouselServlet extends WebSocketServlet { private InboundContext inboundContext_ = new InboundContext(); @Override protected StreamInbound createWebSocketInbound(String protocol, HttpServletRequest request) { return new CarouselMessageInbound(this.inboundContext_); } } 20 Advanced Tech Night
22.
7. サーバサイド実装 1. MessageInboundでは、接続時、切断時、メッセージ受
信時(テキスト/バイナリ)の処理を記述できる。 public class CarouselMessageInbound extends MessageInbound { protected void onOpen(WsOutbound wsOutbound) { } protected void onClose(int status) { } protected void onBinaryMessage(ByteBuffer buffer) throws IOException { } protected void onTextMessage(CharBuffer buffer) throws IOException { } } 2. メッセージ送信は、WsOutboundに書き込む。 wsOutbound.writeTextMessage(buffer); wsOutbound.flush(); 21 Advanced Tech Night
23.
8. 使用上の注意点 WebSocketには、複数のプロトコルが存在する。 各環境でサポートするプロトコルを確認すること。
プロトコル IE Firefox Chrome Safari draft-hixie-thewebsocketprotocol-75 4 5.0.0 draft-hixie-thewebsocketprotocol-76 4 6 5.0.1 draft-ietf-hybi-thewebsocketprotocol-00 ※同一のプロトコル内容 draft-ietf-hybi-thewebsocketprotocol-07 6 draft-ietf-hybi-thewebsocketprotocol-10 7 14 RFC 6455 10 11 16 6 22 Advanced Tech Night
24.
9. まとめ 1. WebSocketはHTML5から分離した仕様。
「ブラウザをリッチに」する中での、サーバ通信部分を 担う。 2. WebSocketを用いることで、ブラウザ上で双方向のリ アルタイム通信が可能。 3. 対応ブラウザも増えてきたため、今後WebSocketを利 用したシステムがもっと増えてくる(はず!) 23 Advanced Tech Night
25.
Let’s enjoy WebSocket
! Infrastructures Evolution 24 Copyright © Acroquest Technology Co., Ltd. All rights reserved.
Download