×ばつSilverlightではまったこと"/>×ばつSilverlightではまったこと"/>×ばつSilverlightではまったこと"/>×ばつSilverlightではまったこと"/>×ばつSilverlightではまったこと"/>
[フレーム]
PPTX, PDF1,365 views

SL囲む会東京5 Nodejs×ばつSilverlightではまったこと

Silverlightを囲む会in東京#5 with JAZUG で話させて頂いたネタです

Embed presentation

Download to read offline
Node.js ×ばつ Silverlight の WebSocket 連携では まったこと Microsoft MVP for Windows Azure 割と普通 2011年12月3日 SL囲む会 東京#5
今回お話する内容 • Node.js の概要 • socket.io の概要 • Silverlight 連携でのハマリどころ • まとめ 2
Node.js の概要 3
Node.js とは • サーバサイド JavaScript の実装 – 他に Rhino や Aptana Jaxer 等がある • JavaScript を利用してシングルスレッドベー スの非同期処理が可能 – 大規模アクセス時のリアルタイム通信等 • 依存関係を解決するパッケージ管理機構 (npm)が存在する – v0.6.4 からは Win版も標準インストール
Node.js の簡単な利用例 • コード例( example.js ) var http = require('http'); http.createServer(function (request, response) { response.writeHead(200, { 'Content-Type': 'text/plain; charset=utf-8;' }); response.end(„Node.js on Windows Azure n'); }).listen(8080); • アプリケーションを起動 > node.exe example.js
Windows Azure 上で Node.js • 非同期 IO と ブロブ・ストレージの相性 が良い – 非同期的に処理が可能 – アップロード等重い処理の対応に適している • 運用の対応は不要 – Windows Azure 上で稼働するため、OS レベ ルの運用はお任せ可能 – CDN を利用することで、パフォーマンスの 改善も可能
socket.io の概要 7
socket.io とは? • WebSocket の Node.js 実装 – 主にリアルタイム通信を行うために利用 – ブラウザ側/サーバ側の両方に提供 – IE9等、WebSocket が実装されていないブラ ウザもリアルタイム通信を可能にする IE5.5 以降 なら OK 幅広いブラウを サポート 8
socket.io の通信方式 • ブラウザの実装によって動作を変える – WebSocket 実装済みのブラウザでは WebScket を利用する – WebScoket 未実装のブラウザでは Comet を 利用する Comet 通信 ( ブ Socket.io Socket.io ( ラ サ WebSocket ウ ー ザ バ の実装有無で 側 側 動作を変更 js) WebSocket 通 js) 信 9
簡単なデモ • ブラウザ側 1. /socket.io/socket.io.js を読み込む 2. socket = io.connect(uri); で接続 3. socket.send(„メッセージ‟) で送信 • サーバ側 1. io = require(„socket.io‟).listen(app) でインス タンス作成 2. io.sockets.on(„connection‟, ...); で接続 3. socket.send(„メッセージ‟); で送信 10
Silverlight 連携での ハマリどころ 11
• 隠ぺい化が問題に・・・ – SLは「ws = new WebSocket("ws://localhost:4503/");」 – Socket.io は 「io.connect('http://127.0.0.1:8080/');」 Comet 通信 ここが問題!! ( ブ Socket.io Socket.io ( ラ サ WebSocket ウ ー ザ バ の実装有無で 側 側 動作を変更 js) WebSocket 通 js) 信 12
Silverlight は ws = new WebSocket("ws://localhost:4503/"); • そもそも Comet 通信している場合は無理 • WebSocket 通信の場合での流れは以下 1. いったん http://localhost/socket.io/1/?t=xxxxxxxxxにア クセスして、セッションID等の疎通手段を 取得する 2. ws://localhost/socket.io/1/websocket/セッ ションIDのアドレスでWebSocketの接続を 行う 13
まとめ 14
• socket.io はクロスブラウザでのリアルタ イム通信を可能にするライブラリ(便利!) • Silverlight に限らず、他のライブラリと連 携する場合には注意が必要 • Silverlight との連携には相当なハックが必 要。。。。 実現した人はいるよ! 15
• @gtk2k さんが実現 – http://twitter.com/#!/gtk2k/status/13928844 3506262017 16

More Related Content

virtio勉強会 #1 「virtioの基本的なところ(DRAFT版)」
PPT
virtio勉強会 #1 「virtioの基本的なところ(DRAFT版)」
HTML5-pronama-study
PDF
HTML5-pronama-study
Nodejs Introduction
PDF
Nodejs Introduction
Minecraft modding 06
PDF
Minecraft modding 06
Open stack essex 4
PDF
Open stack essex 4
Bitcoin testnet
PDF
Bitcoin testnet
仮想通貨テストベッドネットワークの構築
PPTX
仮想通貨テストベッドネットワークの構築
説明書
PDF
説明書
virtio勉強会 #1 「virtioの基本的なところ(DRAFT版)」
virtio勉強会 #1 「virtioの基本的なところ(DRAFT版)」
HTML5-pronama-study
HTML5-pronama-study
Nodejs Introduction
Nodejs Introduction
Minecraft modding 06
Minecraft modding 06
Open stack essex 4
Open stack essex 4
Bitcoin testnet
Bitcoin testnet
仮想通貨テストベッドネットワークの構築
仮想通貨テストベッドネットワークの構築
説明書
説明書

What's hot

Vue.jsスロットの近代史
PDF
Vue.jsスロットの近代史
[Intermediate 01] イントロダクション / Bitcoin を動作させる
PDF
[Intermediate 01] イントロダクション / Bitcoin を動作させる
Installing docker on windows
PDF
Installing docker on windows
CSS text-spacingサポート等Vivliostyle.jsの進化と今後の開発予定
PDF
CSS text-spacingサポート等Vivliostyle.jsの進化と今後の開発予定
[Basic 6] DNS / ソケット通信 / その他
PDF
[Basic 6] DNS / ソケット通信 / その他
芸術情報演習デザイン(Web) 130411
PDF
芸術情報演習デザイン(Web) 130411
第4回鹿児島node.jsの会資料_内村
PDF
第4回鹿児島node.jsの会資料_内村
モダンブラウザストレージ
PDF
モダンブラウザストレージ
第7回鹿児島Node.jsの会勉強会資料
PDF
第7回鹿児島Node.jsの会勉強会資料
MySQL-Docker
PDF
MySQL-Docker
Embed Shogiboard - my first mediawiki extension -
PDF
Embed Shogiboard - my first mediawiki extension -
Silk
PDF
nginx の導入 for Mac
PDF
nginx の導入 for Mac
パネル 4feb
PDF
パネル 4feb
Valu VS 株
PPTX
Valu VS 株
Minecraft modding 09
PDF
Minecraft modding 09
[Intermediate 03] MinChain - 教育用ブロックチェーンの紹介
PDF
[Intermediate 03] MinChain - 教育用ブロックチェーンの紹介
170916 nem introduction
PPTX
170916 nem introduction
図解 Blockchainの仕組み
PPTX
図解 Blockchainの仕組み
Vue.jsスロットの近代史
Vue.jsスロットの近代史
[Intermediate 01] イントロダクション / Bitcoin を動作させる
[Intermediate 01] イントロダクション / Bitcoin を動作させる
Installing docker on windows
Installing docker on windows
CSS text-spacingサポート等Vivliostyle.jsの進化と今後の開発予定
CSS text-spacingサポート等Vivliostyle.jsの進化と今後の開発予定
[Basic 6] DNS / ソケット通信 / その他
[Basic 6] DNS / ソケット通信 / その他
芸術情報演習デザイン(Web) 130411
芸術情報演習デザイン(Web) 130411
第4回鹿児島node.jsの会資料_内村
第4回鹿児島node.jsの会資料_内村
モダンブラウザストレージ
モダンブラウザストレージ
第7回鹿児島Node.jsの会勉強会資料
第7回鹿児島Node.jsの会勉強会資料
MySQL-Docker
MySQL-Docker
Embed Shogiboard - my first mediawiki extension -
Embed Shogiboard - my first mediawiki extension -
Silk
nginx の導入 for Mac
nginx の導入 for Mac
パネル 4feb
パネル 4feb
Valu VS 株
Valu VS 株
Minecraft modding 09
Minecraft modding 09
[Intermediate 03] MinChain - 教育用ブロックチェーンの紹介
[Intermediate 03] MinChain - 教育用ブロックチェーンの紹介
170916 nem introduction
170916 nem introduction
図解 Blockchainの仕組み
図解 Blockchainの仕組み

Viewers also liked

Windows Azure 上で Eclipse と WebLogic Server 12c で JavaEE6 開発
PDF
Windows Azure 上で Eclipse と WebLogic Server 12c で JavaEE6 開発
Windows Azure 上の WebLogic Server 12c から JPA を利用した O/R マッピング to SQL Database
PDF
Windows Azure 上の WebLogic Server 12c から JPA を利用した O/R マッピング to SQL Database
20140920 大分進化したメディアサービスで遊んでみた
PDF
20140920 大分進化したメディアサービスで遊んでみた
Windows Azure Bootcamp メディアサービス編
PDF
Windows Azure Bootcamp メディアサービス編
WebLogic Server 12c を Windows Azure の Windows Server 2012 R2 で動かす
PDF
WebLogic Server 12c を Windows Azure の Windows Server 2012 R2 で動かす
16 agenda setmana 02 6è b 2015-16
PPT
16 agenda setmana 02 6è b 2015-16
バックエンドサービスに日の目を当てて愛でましょう 〜メディアサービス&HDInsight編〜
PDF
バックエンドサービスに日の目を当てて愛でましょう 〜メディアサービス&HDInsight編〜
エンプラはつらいよ〜クラウド提案時に気を付けるポイント〜
PDF
エンプラはつらいよ〜クラウド提案時に気を付けるポイント〜
Windows Azure 上で Eclipse と WebLogic Server 12c で JavaEE6 開発
Windows Azure 上で Eclipse と WebLogic Server 12c で JavaEE6 開発
Windows Azure 上の WebLogic Server 12c から JPA を利用した O/R マッピング to SQL Database
Windows Azure 上の WebLogic Server 12c から JPA を利用した O/R マッピング to SQL Database
20140920 大分進化したメディアサービスで遊んでみた
20140920 大分進化したメディアサービスで遊んでみた
Windows Azure Bootcamp メディアサービス編
Windows Azure Bootcamp メディアサービス編
WebLogic Server 12c を Windows Azure の Windows Server 2012 R2 で動かす
WebLogic Server 12c を Windows Azure の Windows Server 2012 R2 で動かす
16 agenda setmana 02 6è b 2015-16
16 agenda setmana 02 6è b 2015-16
バックエンドサービスに日の目を当てて愛でましょう 〜メディアサービス&HDInsight編〜
バックエンドサービスに日の目を当てて愛でましょう 〜メディアサービス&HDInsight編〜
エンプラはつらいよ〜クラウド提案時に気を付けるポイント〜
エンプラはつらいよ〜クラウド提案時に気を付けるポイント〜

Similar to SL囲む会東京5 Nodejs×ばつSilverlightではまったこと

JavaプログラマのためのWebSocket概要
PPTX
JavaプログラマのためのWebSocket概要
AndroidでWebSocket
PDF
AndroidでWebSocket
WebRTCの技術解説 第二版 公開版 本編
PDF
WebRTCの技術解説 第二版 公開版 本編
WebSocket + Node.jsでつくるチャットアプリ
PDF
WebSocket + Node.jsでつくるチャットアプリ
SocketStream入門
PDF
SocketStream入門
WebSocket Protocol と Plack::Middleware::WebSocket
PDF
WebSocket Protocol と Plack::Middleware::WebSocket
WebSocket Chat App Hands On on Microsoft Azure
PDF
WebSocket Chat App Hands On on Microsoft Azure
20130315 abc firefox_os
PDF
20130315 abc firefox_os
これから利用拡大?WebSocket
PDF
これから利用拡大?WebSocket
Html5, Web Applications 2
PDF
Html5, Web Applications 2
120512 metro styleapp_javascript
PPTX
120512 metro styleapp_javascript
PlayFramework1.2.4におけるWebSocket
PDF
PlayFramework1.2.4におけるWebSocket
後期第七回ネットワークチーム講座資料
PDF
後期第七回ネットワークチーム講座資料
Web socketドロンくん その後-
PDF
Web socketドロンくん その後-
node+socket.io+enchant.jsでチャットゲーを作る
PDF
node+socket.io+enchant.jsでチャットゲーを作る
JavaOne2014報告会資料
PPTX
JavaOne2014報告会資料
HTML5など社内勉強会 Vol.8 - WebSocket
PDF
HTML5など社内勉強会 Vol.8 - WebSocket
再入門、サーバープッシュ技術
PPTX
再入門、サーバープッシュ技術
Janogia20120921 yoshinotakeshi
PDF
Janogia20120921 yoshinotakeshi
Gtug girls meetup web socket handson
PDF
Gtug girls meetup web socket handson
JavaプログラマのためのWebSocket概要
JavaプログラマのためのWebSocket概要
AndroidでWebSocket
AndroidでWebSocket
WebRTCの技術解説 第二版 公開版 本編
WebRTCの技術解説 第二版 公開版 本編
WebSocket + Node.jsでつくるチャットアプリ
WebSocket + Node.jsでつくるチャットアプリ
SocketStream入門
SocketStream入門
WebSocket Protocol と Plack::Middleware::WebSocket
WebSocket Protocol と Plack::Middleware::WebSocket
WebSocket Chat App Hands On on Microsoft Azure
WebSocket Chat App Hands On on Microsoft Azure
20130315 abc firefox_os
20130315 abc firefox_os
これから利用拡大?WebSocket
これから利用拡大?WebSocket
Html5, Web Applications 2
Html5, Web Applications 2
120512 metro styleapp_javascript
120512 metro styleapp_javascript
PlayFramework1.2.4におけるWebSocket
PlayFramework1.2.4におけるWebSocket
後期第七回ネットワークチーム講座資料
後期第七回ネットワークチーム講座資料
Web socketドロンくん その後-
Web socketドロンくん その後-
node+socket.io+enchant.jsでチャットゲーを作る
node+socket.io+enchant.jsでチャットゲーを作る
JavaOne2014報告会資料
JavaOne2014報告会資料
HTML5など社内勉強会 Vol.8 - WebSocket
HTML5など社内勉強会 Vol.8 - WebSocket
再入門、サーバープッシュ技術
再入門、サーバープッシュ技術
Janogia20120921 yoshinotakeshi
Janogia20120921 yoshinotakeshi
Gtug girls meetup web socket handson
Gtug girls meetup web socket handson

More from normalian

基礎から見直す ASP.NET MVC の単体テスト自動化方法 〜 Windows Azure 関連もあるかも〜
PDF
基礎から見直す ASP.NET MVC の単体テスト自動化方法 〜 Windows Azure 関連もあるかも〜
T35 ASP.NET MVCを使ったTDD入門
PPT
T35 ASP.NET MVCを使ったTDD入門
Windows Azure Media Serviceで作成する割と普通な動画サイト
PDF
Windows Azure Media Serviceで作成する割と普通な動画サイト
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発〜クラウドも有るよ!〜
PDF
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発〜クラウドも有るよ!〜
2010年インストールマニアックス 〜Javaアプリ編〜
PDF
2010年インストールマニアックス 〜Javaアプリ編〜
JAZ一周年総会 Windows Azure 直近の更新
PDF
JAZ一周年総会 Windows Azure 直近の更新
T51 jQueryで学ぶJavaScriptでのフロント開発〜ASP.NET MVC3もあるよっ!〜
PDF
T51 jQueryで学ぶJavaScriptでのフロント開発〜ASP.NET MVC3もあるよっ!〜
プログラミング生放送第7回 比べてみようPaaSクラウド〜Azure VS GAE〜
PDF
プログラミング生放送第7回 比べてみようPaaSクラウド〜Azure VS GAE〜
CLR/H勉強会44回目 Windows Azureストレージについて
PPTX
CLR/H勉強会44回目 Windows Azureストレージについて
デベロッパーサミット2012 JAZUG LT
PDF
デベロッパーサミット2012 JAZUG LT
WebSphere V7を Windows Azure上で動かすまで
PDF
WebSphere V7を Windows Azure上で動かすまで
わんくまっちゃ445同盟 SilverlightでTdd(仮)
PPTX
わんくまっちゃ445同盟 SilverlightでTdd(仮)
基礎から見直す ASP.NET MVC の単体テスト自動化方法 〜 Windows Azure 関連もあるかも〜
基礎から見直す ASP.NET MVC の単体テスト自動化方法 〜 Windows Azure 関連もあるかも〜
T35 ASP.NET MVCを使ったTDD入門
T35 ASP.NET MVCを使ったTDD入門
Windows Azure Media Serviceで作成する割と普通な動画サイト
Windows Azure Media Serviceで作成する割と普通な動画サイト
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発〜クラウドも有るよ!〜
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発〜クラウドも有るよ!〜
2010年インストールマニアックス 〜Javaアプリ編〜
2010年インストールマニアックス 〜Javaアプリ編〜
JAZ一周年総会 Windows Azure 直近の更新
JAZ一周年総会 Windows Azure 直近の更新
T51 jQueryで学ぶJavaScriptでのフロント開発〜ASP.NET MVC3もあるよっ!〜
T51 jQueryで学ぶJavaScriptでのフロント開発〜ASP.NET MVC3もあるよっ!〜
プログラミング生放送第7回 比べてみようPaaSクラウド〜Azure VS GAE〜
プログラミング生放送第7回 比べてみようPaaSクラウド〜Azure VS GAE〜
CLR/H勉強会44回目 Windows Azureストレージについて
CLR/H勉強会44回目 Windows Azureストレージについて
デベロッパーサミット2012 JAZUG LT
デベロッパーサミット2012 JAZUG LT
WebSphere V7を Windows Azure上で動かすまで
WebSphere V7を Windows Azure上で動かすまで
わんくまっちゃ445同盟 SilverlightでTdd(仮)
わんくまっちゃ445同盟 SilverlightでTdd(仮)

SL囲む会東京5 Nodejs×ばつSilverlightではまったこと

  • 1.
    Node.js ×ばつ Silverlight の WebSocket 連携では まったこと Microsoft MVP for Windows Azure 割と普通 2011年12月3日 SL囲む会 東京#5
  • 2.
    今回お話する内容 • Node.js の概要 • socket.io の概要 • Silverlight 連携でのハマリどころ • まとめ 2
  • 3.
  • 4.
    Node.js とは • サーバサイド JavaScript の実装 – 他に Rhino や Aptana Jaxer 等がある • JavaScript を利用してシングルスレッドベー スの非同期処理が可能 – 大規模アクセス時のリアルタイム通信等 • 依存関係を解決するパッケージ管理機構 (npm)が存在する – v0.6.4 からは Win版も標準インストール
  • 5.
    Node.js の簡単な利用例 • コード例( example.js ) var http = require('http'); http.createServer(function (request, response) { response.writeHead(200, { 'Content-Type': 'text/plain; charset=utf-8;' }); response.end(„Node.js on Windows Azure n'); }).listen(8080); • アプリケーションを起動 > node.exe example.js
  • 6.
    Windows Azure 上で Node.js • 非同期 IO と ブロブ・ストレージの相性 が良い – 非同期的に処理が可能 – アップロード等重い処理の対応に適している • 運用の対応は不要 – Windows Azure 上で稼働するため、OS レベ ルの運用はお任せ可能 – CDN を利用することで、パフォーマンスの 改善も可能
  • 7.
  • 8.
    socket.io とは? • WebSocket の Node.js 実装 – 主にリアルタイム通信を行うために利用 – ブラウザ側/サーバ側の両方に提供 – IE9等、WebSocket が実装されていないブラ ウザもリアルタイム通信を可能にする IE5.5 以降 なら OK 幅広いブラウを サポート 8
  • 9.
    socket.io の通信方式 • ブラウザの実装によって動作を変える – WebSocket 実装済みのブラウザでは WebScket を利用する – WebScoket 未実装のブラウザでは Comet を 利用する Comet 通信 ( ブ Socket.io Socket.io ( ラ サ WebSocket ウ ー ザ バ の実装有無で 側 側 動作を変更 js) WebSocket 通 js) 信 9
  • 10.
    簡単なデモ • ブラウザ側 1. /socket.io/socket.io.js を読み込む 2. socket = io.connect(uri); で接続 3. socket.send(„メッセージ‟) で送信 • サーバ側 1. io = require(„socket.io‟).listen(app) でインス タンス作成 2. io.sockets.on(„connection‟, ...); で接続 3. socket.send(„メッセージ‟); で送信 10
  • 11.
    Silverlight 連携での ハマリどころ 11
  • 12.
    • 隠ぺい化が問題に・・・ – SLは「ws = new WebSocket("ws://localhost:4503/");」 – Socket.io は 「io.connect('http://127.0.0.1:8080/');」 Comet 通信 ここが問題!! ( ブ Socket.io Socket.io ( ラ サ WebSocket ウ ー ザ バ の実装有無で 側 側 動作を変更 js) WebSocket 通 js) 信 12
  • 13.
    Silverlight は ws = new WebSocket("ws://localhost:4503/"); • そもそも Comet 通信している場合は無理 • WebSocket 通信の場合での流れは以下 1. いったん http://localhost/socket.io/1/?t=xxxxxxxxxにア クセスして、セッションID等の疎通手段を 取得する 2. ws://localhost/socket.io/1/websocket/セッ ションIDのアドレスでWebSocketの接続を 行う 13
  • 14.
  • 15.
    • socket.io はクロスブラウザでのリアルタ イム通信を可能にするライブラリ(便利!) • Silverlight に限らず、他のライブラリと連 携する場合には注意が必要 • Silverlight との連携には相当なハックが必 要。。。。 実現した人はいるよ! 15
  • 16.
    • @gtk2k さんが実現 – http://twitter.com/#!/gtk2k/status/13928844 3506262017 16

AltStyle によって変換されたページ (->オリジナル) /