狠狠撸

狠狠撸Share a Scribd company logo
websocket
          過去現在..未来?
              By Fillano




12年4月27日星期五
自我介绍
              ? 卑微的IT工程師
              ? Javascript技術狂熱者
              ? 喜歡探索新技術
              ? 渾名:?llano

12年4月27日星期五
飞别产蝉辞肠办别迟经验
              ? 2010年ITHelp鐵人賽後
              ? GTUG HTML5 Hackathon
              ? 以node.js實作過簡單的Hixie-76 Draft版
               本的websocket伺服器

              ? 其實不多XD

12年4月27日星期五
Hixie 76
              ? 時間:2010年
              ? socket.io剛出現
              ? handshake大不同
              ? data frame大不同
              ? 只能傳送utf-8字串

12年4月27日星期五
RFC 6455
              ? 2011年底
              ? handshake比較簡單
              ? data frame大不同
              ? 可傳送binary資料及utf-8字串
              ? ping/pong frame

12年4月27日星期五
到底什麼是飞别产蝉辞肠办别迟
              ? ?一套client side API(HTML5)
              ? ?一個與HTTP相容的通訊協定(ex.
               hixie-76, hybi-10, RFC6455)

              ? 提供client/server間雙向資料傳輸的機制
              ? 除非?一方關閉連結,否則連結就是持續
               不斷的。關閉後需要從頭開始...



12年4月27日星期五
websocket life cycle
                  request / handshake
                  response / handshake
  時 客                                    伺
                        frames
  間 戶                                    服
    端                     ping           器
                         pong
                        frames
                         close

12年4月27日星期五
与丑迟迟辫相容的特性
              ? 類似?一個keep alive的request/response
              ? client會送出request header
              ? server會回覆response header
              ? ?一些header資訊也可以同時利用,例如
                cookie
              ? 也支援https的傳輸加密,wss://*

12年4月27日星期五
跟丑迟迟辫不同的地方
              ? header中許多欄位跟?一般http不同,用來
               傳遞特定資訊,或是做handshake

              ? 連結是keep alive的,不會重複送出header
              ? 資料傳送是雙向的
              ? 資料傳送有特定的binary格式

12年4月27日星期五
肠濒颈别苍迟端的使用方式
              ? 利用WebSocket這個constructor建立連結
               的instance

               ? ex. new WebSocket(‘ws://localhost:8080,
                 [‘echo-protocol’,‘chat’])
              ? 利用send()方法送資料
              ? 利用message事件接收資料

12年4月27日星期五
蝉别谤惫别谤端的使用方式
              ? 以node.js來說,就看你用哪個module
              ? 目前支援比較好的是websocket-node
               (npm install -g websocket)
              ? socket.io用的不?一定是websocket,它會
               優先使用?ash做傳輸(請看他網站上的
               faq說明),所以我才選上面這個module
               來做測試


12年4月27日星期五
展示:多人共享白板



12年4月27日星期五
未来?
              ? WebSocket與RFC6455本身應該不會有大
               變動

              ? WebRTC目前制定的規格,還很難跟
               websocket直接整合,而且效能...

              ? Microsoft提案Stream API,利用它可以把
               資料append到blob,這樣就有機會利用
               websocket轉送blob來播放audio/video


12年4月27日星期五
Q&A



12年4月27日星期五
参考资料
              ? http://tools.ietf.org/html/rfc6455
              ? http://www.whatwg.org/specs/web-apps/
                current-work/#network
              ? http://dev.w3.org/html5/websockets/
              ? http://www.w3.org/TR/FileAPI/
              ? https://github.com/Worlize/WebSocket-
                Node/wiki/Documentation


12年4月27日星期五
Ad

Recommended

Html5design
Html5design
fangdeng
?
狈辞诲别箩蝉介绍
狈辞诲别箩蝉介绍
myzykj
?
How to-start-your-own-website v1.3
How to-start-your-own-website v1.3
faliamm
?
LMTA
LMTA
Louisiana Oil & Gas Association
?
Clipping New Fashion Week 15/11/11 @ IED Barcelona
IED Barcelona
?
8. vgtrk доклад
8. vgtrk доклад
Aleksey Naumkin
?
Gospelwork
Gospelwork
Jon Juane
?
Aloha Design Portfolio
Aloha Design Portfolio
aloharebecca
?
Industrial Summer Training for MCA/BCA/BE/B-Tech Students
Industrial Summer Training for MCA/BCA/BE/B-Tech Students
Tech Mentro
?
YOU DON'T HAVE TO BE A GROWN-UP...
YOU DON'T HAVE TO BE A GROWN-UP...
ccncinci
?
Power aware compilation demo
Power aware compilation demo
Rajeev Nadgauda
?
A Day in the Life... of the Kaye Prox Food Bank
A Day in the Life... of the Kaye Prox Food Bank
ccncinci
?
Transit-Protect presentation 2014
Transit-Protect presentation 2014
Transit-Protect
?
Повышение эффективности использования частотного ресурса
Повышение эффективности использования частотного ресурса
Tele2Russia
?
Speaking in Several Tongues, Metro 10/25/2012
Speaking in Several Tongues, Metro 10/25/2012
JANA CIOBANU
?
Love Quotes
Love Quotes
JANA CIOBANU
?
Useful Shareware / Freeware for Technical Communicators
Useful Shareware / Freeware for Technical Communicators
STC-Philadelphia Metro Chapter
?
Tele2 Россия: итоги работы 2011 года
Tele2 Россия: итоги работы 2011 года
Tele2Russia
?
Wic budapest 2011-pres
Wic budapest 2011-pres
Norbert Knoll von Dornhoff
?
Clipping Diario Design 15/11/11 @ IED Barcelona
IED Barcelona
?
Strategies for Career Success
Strategies for Career Success
STC-Philadelphia Metro Chapter
?
9. bbk tri kita
9. bbk tri kita
Aleksey Naumkin
?
全中国最美的女孩
全中国最美的女孩
susan10733
?
11??b ??? ?? ?? ??? ???
11??b ??? ?? ?? ??? ???
qwee998
?
Mickey
Mickey
敏萱 梁
?
使用闯补惫补蝉肠谤颈辫迟及贬罢惭尝5打造协同运作系统
使用闯补惫补蝉肠谤颈辫迟及贬罢惭尝5打造协同运作系统
Hsu Ping Feng
?
Java API for WebSocket 實作介紹
Java API for WebSocket 實作介紹
My own sweet home!
?

More Related Content

Viewers also liked (20)

Industrial Summer Training for MCA/BCA/BE/B-Tech Students
Industrial Summer Training for MCA/BCA/BE/B-Tech Students
Tech Mentro
?
YOU DON'T HAVE TO BE A GROWN-UP...
YOU DON'T HAVE TO BE A GROWN-UP...
ccncinci
?
Power aware compilation demo
Power aware compilation demo
Rajeev Nadgauda
?
A Day in the Life... of the Kaye Prox Food Bank
A Day in the Life... of the Kaye Prox Food Bank
ccncinci
?
Transit-Protect presentation 2014
Transit-Protect presentation 2014
Transit-Protect
?
Повышение эффективности использования частотного ресурса
Повышение эффективности использования частотного ресурса
Tele2Russia
?
Speaking in Several Tongues, Metro 10/25/2012
Speaking in Several Tongues, Metro 10/25/2012
JANA CIOBANU
?
Love Quotes
Love Quotes
JANA CIOBANU
?
Useful Shareware / Freeware for Technical Communicators
Useful Shareware / Freeware for Technical Communicators
STC-Philadelphia Metro Chapter
?
Tele2 Россия: итоги работы 2011 года
Tele2 Россия: итоги работы 2011 года
Tele2Russia
?
Wic budapest 2011-pres
Wic budapest 2011-pres
Norbert Knoll von Dornhoff
?
Clipping Diario Design 15/11/11 @ IED Barcelona
IED Barcelona
?
Strategies for Career Success
Strategies for Career Success
STC-Philadelphia Metro Chapter
?
9. bbk tri kita
9. bbk tri kita
Aleksey Naumkin
?
全中国最美的女孩
全中国最美的女孩
susan10733
?
11??b ??? ?? ?? ??? ???
11??b ??? ?? ?? ??? ???
qwee998
?
Mickey
Mickey
敏萱 梁
?
Industrial Summer Training for MCA/BCA/BE/B-Tech Students
Industrial Summer Training for MCA/BCA/BE/B-Tech Students
Tech Mentro
?
YOU DON'T HAVE TO BE A GROWN-UP...
YOU DON'T HAVE TO BE A GROWN-UP...
ccncinci
?
Power aware compilation demo
Power aware compilation demo
Rajeev Nadgauda
?
A Day in the Life... of the Kaye Prox Food Bank
A Day in the Life... of the Kaye Prox Food Bank
ccncinci
?
Transit-Protect presentation 2014
Transit-Protect presentation 2014
Transit-Protect
?
Повышение эффективности использования частотного ресурса
Повышение эффективности использования частотного ресурса
Tele2Russia
?
Speaking in Several Tongues, Metro 10/25/2012
Speaking in Several Tongues, Metro 10/25/2012
JANA CIOBANU
?
Tele2 Россия: итоги работы 2011 года
Tele2 Россия: итоги работы 2011 года
Tele2Russia
?
Clipping Diario Design 15/11/11 @ IED Barcelona
IED Barcelona
?
全中国最美的女孩
全中国最美的女孩
susan10733
?
11??b ??? ?? ?? ??? ???
11??b ??? ?? ?? ??? ???
qwee998
?

Similar to Websocket talk in nodejs.tw (20)

使用闯补惫补蝉肠谤颈辫迟及贬罢惭尝5打造协同运作系统
使用闯补惫补蝉肠谤颈辫迟及贬罢惭尝5打造协同运作系统
Hsu Ping Feng
?
Java API for WebSocket 實作介紹
Java API for WebSocket 實作介紹
My own sweet home!
?
淺談Html5及建立完整 web socket 應用觀念
淺談Html5及建立完整 web socket 應用觀念
志賢 黃
?
PHP 應用之一 socket funion : 偽 WEB Server
PHP 應用之一 socket funion : 偽 WEB Server
志賢 黃
?
Eventmachine Websocket 實戰
Eventmachine Websocket 實戰
Mu-Fan Teng
?
实时奥别产的前世今生未来
实时奥别产的前世今生未来
RolfZhang
?
Websocket
Websocket
fangdeng
?
Real-Time Web实时信息流推送
Real-Time Web实时信息流推送
yongboy
?
Real time web实时信息流推送
Real time web实时信息流推送
yongboy
?
Unix socket
Unix socket
st900278
?
network2
network2
overcomerwang
?
Web service
Web service
PingLun Liao
?
Bluemix Node-Red Part I
Bluemix Node-Red Part I
Joseph Chang
?
初學者都該了解的 HTTP 通訊協定基礎
初學者都該了解的 HTTP 通訊協定基礎
Will Huang
?
12. 網路通訊方案
12. 網路通訊方案
Justin Lin
?
開放原始碼 Ch2.5 app - oss - 3rd party api(ver 1.0)
開放原始碼 Ch2.5 app - oss - 3rd party api(ver 1.0)
My own sweet home!
?
network1
network1
overcomerwang
?
Realtime web development
Realtime web development
Rich Lee
?
Node.js 淺談socket.io
Node.js 淺談socket.io
Simon Su
?
Node js q-con
Node js q-con
q3boy
?
使用闯补惫补蝉肠谤颈辫迟及贬罢惭尝5打造协同运作系统
使用闯补惫补蝉肠谤颈辫迟及贬罢惭尝5打造协同运作系统
Hsu Ping Feng
?
Java API for WebSocket 實作介紹
Java API for WebSocket 實作介紹
My own sweet home!
?
淺談Html5及建立完整 web socket 應用觀念
淺談Html5及建立完整 web socket 應用觀念
志賢 黃
?
PHP 應用之一 socket funion : 偽 WEB Server
PHP 應用之一 socket funion : 偽 WEB Server
志賢 黃
?
Eventmachine Websocket 實戰
Eventmachine Websocket 實戰
Mu-Fan Teng
?
实时奥别产的前世今生未来
实时奥别产的前世今生未来
RolfZhang
?
Real-Time Web实时信息流推送
Real-Time Web实时信息流推送
yongboy
?
Real time web实时信息流推送
Real time web实时信息流推送
yongboy
?
Bluemix Node-Red Part I
Bluemix Node-Red Part I
Joseph Chang
?
初學者都該了解的 HTTP 通訊協定基礎
初學者都該了解的 HTTP 通訊協定基礎
Will Huang
?
12. 網路通訊方案
12. 網路通訊方案
Justin Lin
?
開放原始碼 Ch2.5 app - oss - 3rd party api(ver 1.0)
開放原始碼 Ch2.5 app - oss - 3rd party api(ver 1.0)
My own sweet home!
?
Realtime web development
Realtime web development
Rich Lee
?
Node.js 淺談socket.io
Node.js 淺談socket.io
Simon Su
?
Node js q-con
Node js q-con
q3boy
?
Ad

Websocket talk in nodejs.tw

  • 1. websocket 過去現在..未来? By Fillano 12年4月27日星期五
  • 2. 自我介绍 ? 卑微的IT工程師 ? Javascript技術狂熱者 ? 喜歡探索新技術 ? 渾名:?llano 12年4月27日星期五
  • 3. 飞别产蝉辞肠办别迟经验 ? 2010年ITHelp鐵人賽後 ? GTUG HTML5 Hackathon ? 以node.js實作過簡單的Hixie-76 Draft版 本的websocket伺服器 ? 其實不多XD 12年4月27日星期五
  • 4. Hixie 76 ? 時間:2010年 ? socket.io剛出現 ? handshake大不同 ? data frame大不同 ? 只能傳送utf-8字串 12年4月27日星期五
  • 5. RFC 6455 ? 2011年底 ? handshake比較簡單 ? data frame大不同 ? 可傳送binary資料及utf-8字串 ? ping/pong frame 12年4月27日星期五
  • 6. 到底什麼是飞别产蝉辞肠办别迟 ? ?一套client side API(HTML5) ? ?一個與HTTP相容的通訊協定(ex. hixie-76, hybi-10, RFC6455) ? 提供client/server間雙向資料傳輸的機制 ? 除非?一方關閉連結,否則連結就是持續 不斷的。關閉後需要從頭開始... 12年4月27日星期五
  • 7. websocket life cycle request / handshake response / handshake 時 客 伺 frames 間 戶 服 端 ping 器 pong frames close 12年4月27日星期五
  • 8. 与丑迟迟辫相容的特性 ? 類似?一個keep alive的request/response ? client會送出request header ? server會回覆response header ? ?一些header資訊也可以同時利用,例如 cookie ? 也支援https的傳輸加密,wss://* 12年4月27日星期五
  • 9. 跟丑迟迟辫不同的地方 ? header中許多欄位跟?一般http不同,用來 傳遞特定資訊,或是做handshake ? 連結是keep alive的,不會重複送出header ? 資料傳送是雙向的 ? 資料傳送有特定的binary格式 12年4月27日星期五
  • 10. 肠濒颈别苍迟端的使用方式 ? 利用WebSocket這個constructor建立連結 的instance ? ex. new WebSocket(‘ws://localhost:8080, [‘echo-protocol’,‘chat’]) ? 利用send()方法送資料 ? 利用message事件接收資料 12年4月27日星期五
  • 11. 蝉别谤惫别谤端的使用方式 ? 以node.js來說,就看你用哪個module ? 目前支援比較好的是websocket-node (npm install -g websocket) ? socket.io用的不?一定是websocket,它會 優先使用?ash做傳輸(請看他網站上的 faq說明),所以我才選上面這個module 來做測試 12年4月27日星期五
  • 13. 未来? ? WebSocket與RFC6455本身應該不會有大 變動 ? WebRTC目前制定的規格,還很難跟 websocket直接整合,而且效能... ? Microsoft提案Stream API,利用它可以把 資料append到blob,這樣就有機會利用 websocket轉送blob來播放audio/video 12年4月27日星期五
  • 15. 参考资料 ? http://tools.ietf.org/html/rfc6455 ? http://www.whatwg.org/specs/web-apps/ current-work/#network ? http://dev.w3.org/html5/websockets/ ? http://www.w3.org/TR/FileAPI/ ? https://github.com/Worlize/WebSocket- Node/wiki/Documentation 12年4月27日星期五