SlideShare ist ein Scribd-Unternehmen logo
1 von 16
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

Weitere ähnliche Inhalte

Was ist angesagt?

芸術情報演習デザイン(Web) 130411
芸術情報演習デザイン(Web) 130411芸術情報演習デザイン(Web) 130411
芸術情報演習デザイン(Web) 130411
Atsushi Tadokoro
 

Was ist angesagt? (19)

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

Andere mochten auch

バックエンドサービスに日の目を当てて愛でましょう ~メディアサービス&HDInsight編~
バックエンドサービスに日の目を当てて愛でましょう ~メディアサービス&HDInsight編~バックエンドサービスに日の目を当てて愛でましょう ~メディアサービス&HDInsight編~
バックエンドサービスに日の目を当てて愛でましょう ~メディアサービス&HDInsight編~
normalian
 
エンプラはつらいよ~クラウド提案時に気を付けるポイント~
エンプラはつらいよ~クラウド提案時に気を付けるポイント~エンプラはつらいよ~クラウド提案時に気を付けるポイント~
エンプラはつらいよ~クラウド提案時に気を付けるポイント~
normalian
 
Windows Azure 上の WebLogic Server 12c から JPA を利用した O/R マッピング to SQL Database
Windows Azure 上の WebLogic Server 12c から JPA を利用した O/R マッピング to SQL DatabaseWindows Azure 上の WebLogic Server 12c から JPA を利用した O/R マッピング to SQL Database
Windows Azure 上の WebLogic Server 12c から JPA を利用した O/R マッピング to SQL Database
normalian
 
Windows Azure 上で Eclipse と WebLogic Server 12c で JavaEE6 開発
Windows Azure 上で Eclipse と WebLogic Server 12c で JavaEE6 開発Windows Azure 上で Eclipse と WebLogic Server 12c で JavaEE6 開発
Windows Azure 上で Eclipse と WebLogic Server 12c で JavaEE6 開発
normalian
 
WebLogic Server 12c を Windows Azure の Windows Server 2012 R2 で動かす
WebLogic Server 12c を Windows Azure の Windows Server 2012 R2 で動かすWebLogic Server 12c を Windows Azure の Windows Server 2012 R2 で動かす
WebLogic Server 12c を Windows Azure の Windows Server 2012 R2 で動かす
normalian
 

Andere mochten auch (8)

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

Ähnlich wie SL囲む会東京5 Nodejs×Silverlightではまったこと

JavaプログラマのためのWebSocket概要
JavaプログラマのためのWebSocket概要JavaプログラマのためのWebSocket概要
JavaプログラマのためのWebSocket概要
Shumpei Shiraishi
 
120512 metro styleapp_javascript
120512 metro styleapp_javascript120512 metro styleapp_javascript
120512 metro styleapp_javascript
Takayoshi Tanaka
 
Html5, Web Applications 2
Html5, Web Applications 2Html5, Web Applications 2
Html5, Web Applications 2
totty jp
 
後期第七回ネットワークチーム講座資料
後期第七回ネットワークチーム講座資料後期第七回ネットワークチーム講座資料
後期第七回ネットワークチーム講座資料
densan_teacher
 
JavaEdge第3回ライブセッション
JavaEdge第3回ライブセッションJavaEdge第3回ライブセッション
JavaEdge第3回ライブセッション
Yoichiro Tanaka
 

Ähnlich wie SL囲む会東京5 Nodejs×Silverlightではまったこと (20)

これから利用拡大?WebSocket
これから利用拡大?WebSocketこれから利用拡大?WebSocket
これから利用拡大?WebSocket
 
JavaプログラマのためのWebSocket概要
JavaプログラマのためのWebSocket概要JavaプログラマのためのWebSocket概要
JavaプログラマのためのWebSocket概要
 
WebSocket + Node.jsでつくるチャットアプリ
WebSocket + Node.jsでつくるチャットアプリWebSocket + Node.jsでつくるチャットアプリ
WebSocket + Node.jsでつくるチャットアプリ
 
120512 metro styleapp_javascript
120512 metro styleapp_javascript120512 metro styleapp_javascript
120512 metro styleapp_javascript
 
Html5, Web Applications 2
Html5, Web Applications 2Html5, Web Applications 2
Html5, Web Applications 2
 
後期第七回ネットワークチーム講座資料
後期第七回ネットワークチーム講座資料後期第七回ネットワークチーム講座資料
後期第七回ネットワークチーム講座資料
 
websocket-survery
websocket-surverywebsocket-survery
websocket-survery
 
Smart fxでのsocketio活用事例
Smart fxでのsocketio活用事例Smart fxでのsocketio活用事例
Smart fxでのsocketio活用事例
 
Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)
Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)
Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)
 
PlayFramework1.2.4におけるWebSocket
PlayFramework1.2.4におけるWebSocketPlayFramework1.2.4におけるWebSocket
PlayFramework1.2.4におけるWebSocket
 
AndroidでWebSocket
AndroidでWebSocketAndroidでWebSocket
AndroidでWebSocket
 
JavaEdge第3回ライブセッション
JavaEdge第3回ライブセッションJavaEdge第3回ライブセッション
JavaEdge第3回ライブセッション
 
SocketStream入門
SocketStream入門SocketStream入門
SocketStream入門
 
JJUG CCC.pptx
JJUG CCC.pptxJJUG CCC.pptx
JJUG CCC.pptx
 
Web socketドロンくん その後-
Web socketドロンくん その後-Web socketドロンくん その後-
Web socketドロンくん その後-
 
いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21
いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21
いよいよ始められる Java EEでのWebSocket #jjug #jjug_ccc #ccc_r21
 
Nodejsによるwebsocket入門
Nodejsによるwebsocket入門Nodejsによるwebsocket入門
Nodejsによるwebsocket入門
 
JavaScriptでSQLを唱えたいだけの人生だった
JavaScriptでSQLを唱えたいだけの人生だったJavaScriptでSQLを唱えたいだけの人生だった
JavaScriptでSQLを唱えたいだけの人生だった
 
WebSocket+Akka(Remote)+Play 2.1 Java
WebSocket+Akka(Remote)+Play 2.1 JavaWebSocket+Akka(Remote)+Play 2.1 Java
WebSocket+Akka(Remote)+Play 2.1 Java
 
Web socket and gRPC
Web socket and gRPCWeb socket and gRPC
Web socket and gRPC
 

Mehr von normalian

Windows Azure Media Serviceで作成する割と普通な動画サイト
Windows Azure Media Serviceで作成する割と普通な動画サイトWindows Azure Media Serviceで作成する割と普通な動画サイト
Windows Azure Media Serviceで作成する割と普通な動画サイト
normalian
 
WebSphere V7を Windows Azure上で動かすまで
WebSphere V7を Windows Azure上で動かすまでWebSphere V7を Windows Azure上で動かすまで
WebSphere V7を Windows Azure上で動かすまで
normalian
 
JAZ一周年総会 Windows Azure 直近の更新
JAZ一周年総会 Windows Azure 直近の更新JAZ一周年総会 Windows Azure 直近の更新
JAZ一周年総会 Windows Azure 直近の更新
normalian
 
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
normalian
 
2010年インストールマニアックス ~Javaアプリ編~
2010年インストールマニアックス ~Javaアプリ編~2010年インストールマニアックス ~Javaアプリ編~
2010年インストールマニアックス ~Javaアプリ編~
normalian
 
CLR/H勉強会44回目 Windows Azureストレージについて
CLR/H勉強会44回目 Windows AzureストレージについてCLR/H勉強会44回目 Windows Azureストレージについて
CLR/H勉強会44回目 Windows Azureストレージについて
normalian
 
わんくまっちゃ445同盟 SilverlightでTdd(仮)
わんくまっちゃ445同盟 SilverlightでTdd(仮)わんくまっちゃ445同盟 SilverlightでTdd(仮)
わんくまっちゃ445同盟 SilverlightでTdd(仮)
normalian
 

Mehr von normalian (12)

Windows Azure Media Serviceで作成する割と普通な動画サイト
Windows Azure Media Serviceで作成する割と普通な動画サイトWindows Azure Media Serviceで作成する割と普通な動画サイト
Windows Azure Media Serviceで作成する割と普通な動画サイト
 
WebSphere V7を Windows Azure上で動かすまで
WebSphere V7を Windows Azure上で動かすまでWebSphere V7を Windows Azure上で動かすまで
WebSphere V7を Windows Azure上で動かすまで
 
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
 
デベロッパーサミット2012 JAZUG LT
デベロッパーサミット2012 JAZUG LTデベロッパーサミット2012 JAZUG LT
デベロッパーサミット2012 JAZUG LT
 
JAZ一周年総会 Windows Azure 直近の更新
JAZ一周年総会 Windows Azure 直近の更新JAZ一周年総会 Windows Azure 直近の更新
JAZ一周年総会 Windows Azure 直近の更新
 
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
わんくま同盟名古屋勉強会18回目 ASP.NET MVC3を利用したHTML5な画面開発~クラウドも有るよ!~
 
プログラミング生放送第7回 比べてみようPaaSクラウド~Azure VS GAE~
プログラミング生放送第7回 比べてみようPaaSクラウド~Azure VS GAE~プログラミング生放送第7回 比べてみようPaaSクラウド~Azure VS GAE~
プログラミング生放送第7回 比べてみようPaaSクラウド~Azure VS GAE~
 
2010年インストールマニアックス ~Javaアプリ編~
2010年インストールマニアックス ~Javaアプリ編~2010年インストールマニアックス ~Javaアプリ編~
2010年インストールマニアックス ~Javaアプリ編~
 
T51 jQueryで学ぶJavaScriptでのフロント開発~ASP.NET MVC3もあるよっ!~
T51 jQueryで学ぶJavaScriptでのフロント開発~ASP.NET MVC3もあるよっ!~T51 jQueryで学ぶJavaScriptでのフロント開発~ASP.NET MVC3もあるよっ!~
T51 jQueryで学ぶJavaScriptでのフロント開発~ASP.NET MVC3もあるよっ!~
 
T35 ASP.NET MVCを使ったTDD入門
T35 ASP.NET MVCを使ったTDD入門T35 ASP.NET MVCを使ったTDD入門
T35 ASP.NET MVCを使ったTDD入門
 
CLR/H勉強会44回目 Windows Azureストレージについて
CLR/H勉強会44回目 Windows AzureストレージについてCLR/H勉強会44回目 Windows Azureストレージについて
CLR/H勉強会44回目 Windows Azureストレージについて
 
わんくまっちゃ445同盟 SilverlightでTdd(仮)
わんくまっちゃ445同盟 SilverlightでTdd(仮)わんくまっちゃ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
  • 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 を利用することで、パフォーマンスの 改善も可能
  • 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. まとめ 14
  • 15. • socket.io はクロスブラウザでのリアルタ イム通信を可能にするライブラリ(便利!) • Silverlight に限らず、他のライブラリと連 携する場合には注意が必要 • Silverlight との連携には相当なハックが必 要。。。。 実現した人はいるよ! 15
  • 16. • @gtk2k さんが実現 – http://twitter.com/#!/gtk2k/status/13928844 3506262017 16