Flask With Server-Sent Event
Upcoming SlideShare
Loading in...5
×
 

Flask With Server-Sent Event

on

  • 1,815 views

Flask With Server-Sent Event by cppgohan

Flask With Server-Sent Event by cppgohan
sztechparty 20130317

Statistics

Views

Total Views
1,815
Views on SlideShare
1,815
Embed Views
0

Actions

Likes
1
Downloads
13
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Flask With Server-Sent Event Flask With Server-Sent Event Presentation Transcript

  • withServer-Sent Events @cppgohan
  • Flask?
  • Flask?MicroFramework again...
  • Flask?MicroFramework again...Written in Python
  • =
  • =
  • =WerkzeugWSGI utility library
  • = +WerkzeugWSGI utility library
  • = +WerkzeugWSGI utility library
  • = +Werkzeug Jinja2WSGI utility library template engine
  • DemoHello.py
  • DemoHello.py
  • DemoHello.py
  • Demoindex.html
  • Demoindex.htmlresult???
  • Demoindex.htmlresult??? • terminal run: python hello.py • open http://localhost:5000
  • Server-Sent Eventserver push的html5标准, 用法简易, 单次连接比polling高效些.相比websocket的双向二进制数据, Server-Sent Event只是单向, HTTP协议.(但浏览器调试工具往往没法看到服务器发来的数据, X_X) Server对Client的请求, 做stream方式的响应.
  • Server-Sent Event
  • Server-Sent Event 支 持 率 不 要 能 高, 暂 兼 ”玩” 时 容 只 处 理
  • Demoindex.html
  • Demohello.py
  • Demoredis:
  • Demoredis: demo:FILE_TEXT -- 每次python读出来的文本 demo:FILE_TEXT_SEQ -- 为文本版本号, 每次文本更新, 版本号+1 /sever_push响应 -- 当FILE_TEXT_SEQ增加时, 将最新的文本返回给浏览器
  • Demoresult???
  • Demoresult??? • terminal run: python hello.py
  • Demoresult??? • terminal run: python hello.py • open http://localhost:5000
  • Demoresult??? • terminal run: python hello.py • open http://localhost:5000 • block!!!
  • Demoresult??? • terminal run: python hello.py • open http://localhost:5000 • block!!!solution???
  • Demoresult??? • terminal run: python hello.py • open http://localhost:5000 • block!!!solution??? • async WSGI server! (eg. gunicorn + gevent, gevent)
  • Demoresult??? • terminal run: python hello.py • open http://localhost:5000 • block!!!solution??? • async WSGI server! (eg.-kgunicorn-bgevent, gevent)hello:app + • terminal run: gunicorn gevent 0.0.0.0:5000
  • Demoresult??? • terminal run: python hello.py • open http://localhost:5000 • block!!!solution??? • async WSGI server! (eg.-kgunicorn-bgevent, gevent)hello:app + • terminal run: gunicorn gevent 0.0.0.0:5000 • open http://localhost:5000
  • Demoresult??? • terminal run: python hello.py • open http://localhost:5000 • block!!!solution??? • async WSGI server! (eg.-kgunicorn-bgevent, gevent)hello:app + • terminal run: gunicorn gevent 0.0.0.0:5000 • open http://localhost:5000 again! • open http://localhost:5000
  • More DemoServer下发代码示例
  • More DemoServer下发代码示例• start http://localhost:5000 web server• open push js script... • server excute js script... • browser • ...
  • More Usage• 网站动态更新• 区分客户端推送• 微博墙实现• webgame服务器推送• 浏览器插件
  • Resources• http://www.python.org/dev/peps/pep-0333/• http://werkzeug.pocoo.org/• http://jinja.pocoo.org/• http://flask.pocoo.org/• http://www.gevent.org/• http://gunicorn.org/• http://dev.w3.org/html5/eventsource/• http://www.html5rocks.com/en/tutorials/eventsource/basics/• http://www.w3schools.com/html/html5_serversentevents.asp
  • END; 2013, 分享不止!