Slide 1

Slide 1 text

Comet in VIVOTEK Network Camera Kent Chen (Kaie)

Slide 2

Slide 2 text

Kent Chen (Kaie) chenkaie@gmail.com http://chenkaie.blogspot.com @chenkaie on GitHub @chenkaie on SlideShare @chenkaie on LinkedIn @chenkaie on Twitter

Slide 3

Slide 3 text

Problem?

Slide 4

Slide 4 text

Server side (Network Camera)  Data SYNC  Client side (Browser)

Slide 5

Slide 5 text

Real-Time (more responsive) Requirement. e.g., DO status, Audio volume, ...

Slide 6

Slide 6 text

Solutions!

Slide 7

Slide 7 text

Polling Sucks Old school Not fashion Another CGI attacks …XD

Slide 8

Slide 8 text

Long Polling Infeasible on embedded Linux

Slide 9

Slide 9 text

WebSocket IE Sux Browser compatible issue

Slide 10

Slide 10 text

Hidden IFrame Technique Browser busy loading state always (bad UX)

Slide 11

Slide 11 text

Comet Long-held HTTP connection Lower overhead

Slide 12

Slide 12 text

Comet on M$ IE

Slide 13

Slide 13 text

Hidden IFrame via HTMLFile ActiveX Object Client side Server side

Slide 14

Slide 14 text

Comet on non-M$ IE

Slide 15

Slide 15 text

XMLHTTPRequest Interactive State Server side Client side

Slide 16

Slide 16 text

Reference What else is burried down in the depth’s of Google’s amazing JavaScript? Comet:基于 HTTP 长连接的“服务器推”技术 Browser 與 Server 持續同步的作法介紹 (Polling, Comet, Long Polling, WebSocket) Comet Programming: the Hidden IFrame Technique HTTP Streaming Meteor Comet: Low Latency Data for the Browser