Your SlideShare is downloading. ×
  • Like
Flask With Server-Sent Event
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Flask With Server-Sent Event

  • 1,728 views
Published

Flask With Server-Sent Event by cppgohan …

Flask With Server-Sent Event by cppgohan
sztechparty 20130317

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,728
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
21
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. withServer-Sent Events @cppgohan
  • 2. Flask?
  • 3. Flask?MicroFramework again...
  • 4. Flask?MicroFramework again...Written in Python
  • 5. =
  • 6. =
  • 7. =WerkzeugWSGI utility library
  • 8. = +WerkzeugWSGI utility library
  • 9. = +WerkzeugWSGI utility library
  • 10. = +Werkzeug Jinja2WSGI utility library template engine
  • 11. DemoHello.py
  • 12. DemoHello.py
  • 13. DemoHello.py
  • 14. Demoindex.html
  • 15. Demoindex.htmlresult???
  • 16. Demoindex.htmlresult??? • terminal run: python hello.py • open http://localhost:5000
  • 17. Server-Sent Eventserver push的html5标准, 用法简易, 单次连接比polling高效些.相比websocket的双向二进制数据, Server-Sent Event只是单向, HTTP协议.(但浏览器调试工具往往没法看到服务器发来的数据, X_X) Server对Client的请求, 做stream方式的响应.
  • 18. Server-Sent Event
  • 19. Server-Sent Event 支 持 率 不 要 能 高, 暂 兼 ”玩” 时 容 只 处 理
  • 20. Demoindex.html
  • 21. Demohello.py
  • 22. Demoredis:
  • 23. Demoredis: demo:FILE_TEXT -- 每次python读出来的文本 demo:FILE_TEXT_SEQ -- 为文本版本号, 每次文本更新, 版本号+1 /sever_push响应 -- 当FILE_TEXT_SEQ增加时, 将最新的文本返回给浏览器
  • 24. Demoresult???
  • 25. Demoresult??? • terminal run: python hello.py
  • 26. Demoresult??? • terminal run: python hello.py • open http://localhost:5000
  • 27. Demoresult??? • terminal run: python hello.py • open http://localhost:5000 • block!!!
  • 28. Demoresult??? • terminal run: python hello.py • open http://localhost:5000 • block!!!solution???
  • 29. Demoresult??? • terminal run: python hello.py • open http://localhost:5000 • block!!!solution??? • async WSGI server! (eg. gunicorn + gevent, gevent)
  • 30. 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
  • 31. 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
  • 32. 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
  • 33. More DemoServer下发代码示例
  • 34. More DemoServer下发代码示例• start http://localhost:5000 web server• open push js script... • server excute js script... • browser • ...
  • 35. More Usage• 网站动态更新• 区分客户端推送• 微博墙实现• webgame服务器推送• 浏览器插件
  • 36. 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
  • 37. END; 2013, 分享不止!