Submit Search
Upload
Nodeについて
•
10 likes
•
15,955 views
N
Natsuki Yamanaka
Follow
Trifort内で行った社内勉強会です。 Node.js,Socket.IO,WebSocket,XmlHttpRequestなどについて基本的な説明をしています。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 23
Download now
Download to read offline
Recommended
Node.js Tutorial at Hiroshima
Node.js Tutorial at Hiroshima
Yoshihiro Iwanaga
Node.js基礎の基礎 - Miyazaki.js vol.2
Node.js基礎の基礎 - Miyazaki.js vol.2
Nobuhiro Nakashima
Node.jsでブラウザメッセンジャー
Node.jsでブラウザメッセンジャー
Yahoo!デベロッパーネットワーク
Node.js を選ぶとき 選ばないとき
Node.js を選ぶとき 選ばないとき
Ryunosuke SATO
Node.js で Web アプリ開発
Node.js で Web アプリ開発
Tatsumi Naganuma
Node.js Hands-On
Node.js Hands-On
Akinari Tsugo
づや会 Vol4 Node.jsとphpのパフォーマンスを比較してみる
づや会 Vol4 Node.jsとphpのパフォーマンスを比較してみる
zuya
Node js 入門
Node js 入門
Satoshi Takami
Recommended
Node.js Tutorial at Hiroshima
Node.js Tutorial at Hiroshima
Yoshihiro Iwanaga
Node.js基礎の基礎 - Miyazaki.js vol.2
Node.js基礎の基礎 - Miyazaki.js vol.2
Nobuhiro Nakashima
Node.jsでブラウザメッセンジャー
Node.jsでブラウザメッセンジャー
Yahoo!デベロッパーネットワーク
Node.js を選ぶとき 選ばないとき
Node.js を選ぶとき 選ばないとき
Ryunosuke SATO
Node.js で Web アプリ開発
Node.js で Web アプリ開発
Tatsumi Naganuma
Node.js Hands-On
Node.js Hands-On
Akinari Tsugo
づや会 Vol4 Node.jsとphpのパフォーマンスを比較してみる
づや会 Vol4 Node.jsとphpのパフォーマンスを比較してみる
zuya
Node js 入門
Node js 入門
Satoshi Takami
Hello, Node.js
Hello, Node.js
Shin Sekaryo
Node.js入門
Node.js入門
俊夫 森
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
Hiroyuki Kusu
大阪Node学園 七時限目 「ゼロからはじめるnode.js」
大阪Node学園 七時限目 「ゼロからはじめるnode.js」
Shunsuke Watanabe
Node.js×mongo dbで3年間サービス運用してみた話
Node.js×mongo dbで3年間サービス運用してみた話
leverages_event
サーバサイドNodeの使い道
サーバサイドNodeの使い道
pospome
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Kohei Asai
[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いている
Akihiro Kuwano
Sails.jsのメリット・デメリット
Sails.jsのメリット・デメリット
Ito Kohta
20131012 nodejs
20131012 nodejs
Amuro Nishizawa
Hokuriku.net 2013 01-26 node.js
Hokuriku.net 2013 01-26 node.js
Tadahiro Ishisaka
WiredTigerストレージエンジン楽しい
WiredTigerストレージエンジン楽しい
Akihiro Kuwano
Nodejs
Nodejs
和樹 川端
Bp study39 nodejs
Bp study39 nodejs
Yohei Sasaki
FreeBSD VPSでLive Migration
FreeBSD VPSでLive Migration
spg_games
120512 metro styleapp_javascript
120512 metro styleapp_javascript
Takayoshi Tanaka
こんてなぐらし!〜FreeBSD VPSでライブマイグレーション〜
こんてなぐらし!〜FreeBSD VPSでライブマイグレーション〜
furandon_pig
後期講座01
後期講座01
Takenori Nakagawa
たのしいNode.js
たのしいNode.js
ishiki-takai
ビルド職人の朝は早い
ビルド職人の朝は早い
Masashi MATSUI
Node.jsではじめるサーバ構築
Node.jsではじめるサーバ構築
AimingStudy
Java script初心者のためのnode.jsで学ぶドローン制御プログラミング
Java script初心者のためのnode.jsで学ぶドローン制御プログラミング
健一 茂木
More Related Content
What's hot
Hello, Node.js
Hello, Node.js
Shin Sekaryo
Node.js入門
Node.js入門
俊夫 森
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
Hiroyuki Kusu
大阪Node学園 七時限目 「ゼロからはじめるnode.js」
大阪Node学園 七時限目 「ゼロからはじめるnode.js」
Shunsuke Watanabe
Node.js×mongo dbで3年間サービス運用してみた話
Node.js×mongo dbで3年間サービス運用してみた話
leverages_event
サーバサイドNodeの使い道
サーバサイドNodeの使い道
pospome
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Kohei Asai
[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いている
Akihiro Kuwano
Sails.jsのメリット・デメリット
Sails.jsのメリット・デメリット
Ito Kohta
20131012 nodejs
20131012 nodejs
Amuro Nishizawa
Hokuriku.net 2013 01-26 node.js
Hokuriku.net 2013 01-26 node.js
Tadahiro Ishisaka
WiredTigerストレージエンジン楽しい
WiredTigerストレージエンジン楽しい
Akihiro Kuwano
Nodejs
Nodejs
和樹 川端
Bp study39 nodejs
Bp study39 nodejs
Yohei Sasaki
FreeBSD VPSでLive Migration
FreeBSD VPSでLive Migration
spg_games
120512 metro styleapp_javascript
120512 metro styleapp_javascript
Takayoshi Tanaka
こんてなぐらし!〜FreeBSD VPSでライブマイグレーション〜
こんてなぐらし!〜FreeBSD VPSでライブマイグレーション〜
furandon_pig
後期講座01
後期講座01
Takenori Nakagawa
たのしいNode.js
たのしいNode.js
ishiki-takai
ビルド職人の朝は早い
ビルド職人の朝は早い
Masashi MATSUI
What's hot
(20)
Hello, Node.js
Hello, Node.js
Node.js入門
Node.js入門
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
大阪Node学園 七時限目 「ゼロからはじめるnode.js」
大阪Node学園 七時限目 「ゼロからはじめるnode.js」
Node.js×mongo dbで3年間サービス運用してみた話
Node.js×mongo dbで3年間サービス運用してみた話
サーバサイドNodeの使い道
サーバサイドNodeの使い道
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いている
Sails.jsのメリット・デメリット
Sails.jsのメリット・デメリット
20131012 nodejs
20131012 nodejs
Hokuriku.net 2013 01-26 node.js
Hokuriku.net 2013 01-26 node.js
WiredTigerストレージエンジン楽しい
WiredTigerストレージエンジン楽しい
Nodejs
Nodejs
Bp study39 nodejs
Bp study39 nodejs
FreeBSD VPSでLive Migration
FreeBSD VPSでLive Migration
120512 metro styleapp_javascript
120512 metro styleapp_javascript
こんてなぐらし!〜FreeBSD VPSでライブマイグレーション〜
こんてなぐらし!〜FreeBSD VPSでライブマイグレーション〜
後期講座01
後期講座01
たのしいNode.js
たのしいNode.js
ビルド職人の朝は早い
ビルド職人の朝は早い
Viewers also liked
Node.jsではじめるサーバ構築
Node.jsではじめるサーバ構築
AimingStudy
Java script初心者のためのnode.jsで学ぶドローン制御プログラミング
Java script初心者のためのnode.jsで学ぶドローン制御プログラミング
健一 茂木
JUNOS: OSPF and BGP
JUNOS: OSPF and BGP
Zenith Networks
Node.jsでサーバプログラマ デビューしよう
Node.jsでサーバプログラマ デビューしよう
Yuusuke Takeuchi
Node Foundation Membership Overview 20160907
Node Foundation Membership Overview 20160907
NodejsFoundation
Node.jsに縁のない職場でnode.jsを使い始める戦術
Node.jsに縁のない職場でnode.jsを使い始める戦術
Isamu Suzuki
さくらのVPS で IPv4 over IPv6ルータの構築
さくらのVPS で IPv4 over IPv6ルータの構築
Tomocha Potter
libpgenでパケット操作
libpgenでパケット操作
slankdev
Viewers also liked
(8)
Node.jsではじめるサーバ構築
Node.jsではじめるサーバ構築
Java script初心者のためのnode.jsで学ぶドローン制御プログラミング
Java script初心者のためのnode.jsで学ぶドローン制御プログラミング
JUNOS: OSPF and BGP
JUNOS: OSPF and BGP
Node.jsでサーバプログラマ デビューしよう
Node.jsでサーバプログラマ デビューしよう
Node Foundation Membership Overview 20160907
Node Foundation Membership Overview 20160907
Node.jsに縁のない職場でnode.jsを使い始める戦術
Node.jsに縁のない職場でnode.jsを使い始める戦術
さくらのVPS で IPv4 over IPv6ルータの構築
さくらのVPS で IPv4 over IPv6ルータの構築
libpgenでパケット操作
libpgenでパケット操作
Similar to Nodeについて
OSvのご紹介 in OSC2014 Tokyo/Fall
OSvのご紹介 in OSC2014 Tokyo/Fall
Takuya ASADA
OSvの概要と実装
OSvの概要と実装
Takuya ASADA
OSv噺
OSv噺
Takuya ASADA
後期第二回ネットワークチーム講座資料
後期第二回ネットワークチーム講座資料
densan_teacher
Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像
Sho Shimizu
EWD 3トレーニングコース#2 EWD 3の概要
EWD 3トレーニングコース#2 EWD 3の概要
Kiyoshi Sawada
.NET vNext
.NET vNext
信之 岩永
node-handlersocket
node-handlersocket
koichik
OSvのご紹介 in Java 8 HotSpot meeting
OSvのご紹介 in Java 8 HotSpot meeting
Takuya ASADA
node.js koとhtml5とwebsocketsと
node.js koとhtml5とwebsocketsと
scdn
Clrh 110827 wfho
Clrh 110827 wfho
Tomoyuki Obi
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
Naoya Ito
Why js
Why js
Nakajima Shigeru
Bossan dentoo
Bossan dentoo
kubo39
10回目nodejs
10回目nodejs
Takuya Shishido
EWD 3トレーニングコース#1 Node.jsとCacheの連携
EWD 3トレーニングコース#1 Node.jsとCacheの連携
Kiyoshi Sawada
Android nodejs binary-transfer_130531ss
Android nodejs binary-transfer_130531ss
ts170
Couch DB in 15minutes
Couch DB in 15minutes
Yohei Sasaki
cordova/electronの構造を知る
cordova/electronの構造を知る
Yasuharu Seki
Node.jsで始める Modern JavaScript Framework
Node.jsで始める Modern JavaScript Framework
kamiyam .
Similar to Nodeについて
(20)
OSvのご紹介 in OSC2014 Tokyo/Fall
OSvのご紹介 in OSC2014 Tokyo/Fall
OSvの概要と実装
OSvの概要と実装
OSv噺
OSv噺
後期第二回ネットワークチーム講座資料
後期第二回ネットワークチーム講座資料
Open vSwitchソースコードの全体像
Open vSwitchソースコードの全体像
EWD 3トレーニングコース#2 EWD 3の概要
EWD 3トレーニングコース#2 EWD 3の概要
.NET vNext
.NET vNext
node-handlersocket
node-handlersocket
OSvのご紹介 in Java 8 HotSpot meeting
OSvのご紹介 in Java 8 HotSpot meeting
node.js koとhtml5とwebsocketsと
node.js koとhtml5とwebsocketsと
Clrh 110827 wfho
Clrh 110827 wfho
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
SmartPhone development guide with CoffeeScript + Node + HTML5 Technology, for...
Why js
Why js
Bossan dentoo
Bossan dentoo
10回目nodejs
10回目nodejs
EWD 3トレーニングコース#1 Node.jsとCacheの連携
EWD 3トレーニングコース#1 Node.jsとCacheの連携
Android nodejs binary-transfer_130531ss
Android nodejs binary-transfer_130531ss
Couch DB in 15minutes
Couch DB in 15minutes
cordova/electronの構造を知る
cordova/electronの構造を知る
Node.jsで始める Modern JavaScript Framework
Node.jsで始める Modern JavaScript Framework
More from Natsuki Yamanaka
【2018/09/11】PAYでのReact Nativeにおける APIクライアント実装 について
【2018/09/11】PAYでのReact Nativeにおける APIクライアント実装 について
Natsuki Yamanaka
2015 12 03_uiテストツールについて
2015 12 03_uiテストツールについて
Natsuki Yamanaka
アプリ申請の基礎 リジェクト周り
アプリ申請の基礎 リジェクト周り
Natsuki Yamanaka
開発Tips集
開発Tips集
Natsuki Yamanaka
3 d touchについて
3 d touchについて
Natsuki Yamanaka
多言語対応について 2016 07_25
多言語対応について 2016 07_25
Natsuki Yamanaka
2015 12 10_ipv6対応について
2015 12 10_ipv6対応について
Natsuki Yamanaka
2015 11 05_ios9_新仕様まとめ_社内勉強会
2015 11 05_ios9_新仕様まとめ_社内勉強会
Natsuki Yamanaka
社内勉強会にて 音声ファイルフォーマットについて
社内勉強会にて 音声ファイルフォーマットについて
Natsuki Yamanaka
2015 03 26 社内勉強会_オープンソースソフトウェアライセンスについて
2015 03 26 社内勉強会_オープンソースソフトウェアライセンスについて
Natsuki Yamanaka
スマホ(Android・iPhone)でWebRTC
スマホ(Android・iPhone)でWebRTC
Natsuki Yamanaka
More from Natsuki Yamanaka
(11)
【2018/09/11】PAYでのReact Nativeにおける APIクライアント実装 について
【2018/09/11】PAYでのReact Nativeにおける APIクライアント実装 について
2015 12 03_uiテストツールについて
2015 12 03_uiテストツールについて
アプリ申請の基礎 リジェクト周り
アプリ申請の基礎 リジェクト周り
開発Tips集
開発Tips集
3 d touchについて
3 d touchについて
多言語対応について 2016 07_25
多言語対応について 2016 07_25
2015 12 10_ipv6対応について
2015 12 10_ipv6対応について
2015 11 05_ios9_新仕様まとめ_社内勉強会
2015 11 05_ios9_新仕様まとめ_社内勉強会
社内勉強会にて 音声ファイルフォーマットについて
社内勉強会にて 音声ファイルフォーマットについて
2015 03 26 社内勉強会_オープンソースソフトウェアライセンスについて
2015 03 26 社内勉強会_オープンソースソフトウェアライセンスについて
スマホ(Android・iPhone)でWebRTC
スマホ(Android・iPhone)でWebRTC
Recently uploaded
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
Recently uploaded
(10)
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Nodeについて
1.
Node.js勉強会 山中夏樹
2.
概要 • Node.jsとはどういうものか • リアルタイム通信について •
Socket.IOについて
3.
Node.jsとは? • サーバーサイドJavascript。PHPやPerlなどと同 じようなことができる • RedisやNginxのようにイベント駆動の仕組み で動きシングルスレッド・シングルプロセス •
コネクション毎にプロセスが作られるapache 等における大量アクセスの問題点克服の為 作られた • ノンブロッキングIOによる非同期処理を実現 している
4.
シングルスレッド・シングルプロセスとは apacheの場合 コネクション毎にプロセスが貼られる サーバー クライアント httpdプロセス クライアント httpdプロセス クライアント httpdプロセス
5.
シングルスレッド・シングルプロセスとは Node.jsの場合 常に同じプロセス内 サーバー クライアント クライアント クライアント nodeプロセス
6.
ノンブロッキングIOとは コンピュータ内部のCPUと周辺装置のデー タ入出力(I/O)において、データの送受信 の完了を待たずに他の処理を開始する方 式。並列処理の一種。 JavaScriptの非同期処理の仕組みを利用 (コールバック地獄)
7.
ノンブロッキングIOとは 例えばこんな時にこう書く • お題 下記の処理を実装せよ 1. 2. 3. 4. 5. 「0」を出力する 1秒待つ 「1」を出力する 1秒待つ 「2」を出力する
8.
ノンブロッキングIOとは シェルスクリプトの場合(同期) #!/bin/sh echo 0 sleep 1 echo
1 sleep 1 echo 2 上から順番に処理される。 とても非常に素直な書き方。
9.
ノンブロッキングIOとは JavaScriptの場合(非同期) console.log(0); setTimeout(function(){ console.log(1); setTimeout(function(){ console.log(2); }, 1000);}, 1000); setTimeoutの引数になっているfunctionをコールバックといいます。 引数に関数を渡すので渡された関数の処理が終わった後に呼ばれる →下手すると5重6重のネストが生まれる →コールバック地獄
10.
■メリット • リアルタイム通信が割と簡単に実装できる • 軽くて速い! •
javascriptなのでUIの人もとっつきやすい ■デメリット • よくメモリリークが問題になる • シングルプロセス・シングルスレッドなのでマ ルチコアを活かすには工夫が必要 • プログラムの反映に再起動が必要(課金系に 向かない)
11.
対応プラットフォーム • Windows • Mac •
Linux それぞれでインストーラーが用意されており、公式サ イトからそれを落としてインストールするだけ。 • 拡張性 npmというパッケージ管理ツールによりサードパーティ 製のモジュールを追加することができる。PHPのPEAR やPerlのCPANみたいな。
12.
モジュール一覧 ■npmモジュール • socket.io - リアルタイムWEBアプリケーションによく使われ る • node-mysql
- MySQLのDBに接続 • node-redis - Redisに接続 • node-gcm - Androidのプッシュを送信 • node-apn - iPhoneのプッシュを送信 • ursa - 秘密鍵暗号・複合化 ■公式モジュール • crypto - 共通鍵暗号・複合化 • fs - ファイルを操作 • http - apacheのようなHTTPサーバーを立てたり、HTTPリク エストを飛ばしたりできる(公式) • ReadableStream,Writable Stream (JAVAみたいな?)
13.
リアルタイム通信について • node.jsはリアルタイム通信を作りたい!など の時によく使われるらしい。 • しかし、”リアルタイム通信”なWEBアプリケー ションはnode.jsでなくとも構築できます。 •
そこで、どうやってリアルタイム通信を構築し ているか理解する為にサーバーからのプッ シュ送信によく使われる仕組みをいくつか説 明しておきます。
14.
XmlHttpRequest(XHR)について • ウェブブラウザ上のJavascriptから発行される HTTPリクエストを発信するオブジェクトの名前。 • Ajax通信の基本Object •
それを利用し、サーバーから情報を送りたい 時までレスポンスを返さず接続を張りっぱな しにすることを”ロングポーリング”という。 socket.ioでも一部取り入れられている。
15.
WebSocketについて • HTTPを拡張した通信規格の一つ。 • Webサーバーとウェブブラウザの双方向通信 用に作られた。これができるまでは XmlHttpRequestをもとに作られた擬似的双方 向通信しかなかった。 •
一度コネクションをはるとその上でデータの 送受信を行う為、通信量がXHRより少ない。 • 対応ブラウザが少ない
16.
WebSocketとXHR XHR WebSocket 引用:http://labs.opentone.co.jp/?p=2522
17.
Socket.IOについて • トライフォート社で使用されているリアルタイ ム通信技術。 • もともとは氾濫しているブラウザ仕様の差異 を吸収し、クロスブラウザで使える双方向通 信システムを構築する為に作られた。 •
その為、独自プロトコルみたいになっている
18.
Socket.IO通信フロー クライアント サーバー クライアント 接続 Handshake (WebSocketか XHRポーリングか判別) 双 方 向 通 信 が 確 立 接続 Handshake (WebSocketか XHRポーリングか判別) チャット送信 チャット受信 チャット送信 チャット受信 双 方 向 通 信 が 確 立
19.
Socket.IOの機能 "Room"という概念 チャットルームのように、あるネームスペースにクライアントをジョインさせると、そ こに入っているユーザーだけに対してプッシュ送信ができる。 ただのWebSocketライブラリ等にはない機能で、実装が楽。 コード例 部屋に入る socket.join("ルーム1"); 部屋から出る socket.leave("ルーム1"); 部屋全体に向けてデータ送信 io.sockets.to("ルーム1").emit(data); ネームスペース“ルーム1”にjoin ネームスペース“ルーム1”からleave ネームスペース“ルーム1”にemit ネームスペース=チャットルーム的な区分け
20.
複数サーバーでSocket.IO RedisPubSubによるサーバー間セッション共有 Socket.IOの機能として組み込まれている。Redisのhost,portを指定するだけ Redis ネームスペースやクライア ントのセッションIDを共有 サーバー1 サーバー2 Socket.ioプロセス Socket.ioプロセス バランサーサーバー クライアント クライアント クライアント クライアントはどのサーバーへつなぐか意識しなくてよい クライアント
21.
リアルタイム通信ができる仕組み 実はnode.js以外にもいろいろあるんです。 • Jetty -
Webサーバ。JAVA。WebSocketをサポート • Play - JAVAやScalaで書けるWebフレームワーク。 WebSocketをサポート • GoogleのMobile Backend Starter - サーバーを介さ ずAndroid同士のチャットができる。 参考:やんざむさんのブログ
22.
リアルタイム通信ができる仕組み WebSocket以外にもこんなものが。 • Comet -
Ajax通信で、WEBサーバーがデータを更新 するまでレスポンスを返さないとか。 • SPDY - HTTP通信を拡張したプロトコル。TLS接続の 上にセッション層を追加。LINEのバックグラウンド • SIP - Session Initiation Protocol。UDPにも対応したプ ロトコル。動画などもリアルタイムにやりとりできる
23.
以上
Download now