Submit Search
Upload
Flask With Server-Sent Event
•
2 likes
•
4,425 views
Tencent
Follow
Flask With Server-Sent Event by cppgohan sztechparty 20130317
Read less
Read more
Technology
Report
Share
Report
Share
1 of 37
Download now
Download to read offline
Recommended
Flask Basics
Flask Basics
Eueung Mulyana
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
NAVER D2
Web develop in flask
Web develop in flask
Jim Yeh
Nginx Internals
Nginx Internals
Joshua Zhu
Getting Ready to Use Redis with Apache Spark with Dvir Volk
Getting Ready to Use Redis with Apache Spark with Dvir Volk
Spark Summit
The MySQL Query Optimizer Explained Through Optimizer Trace
The MySQL Query Optimizer Explained Through Optimizer Trace
oysteing
Intro to InfluxDB 2.0 and Your First Flux Query by Sonia Gupta
Intro to InfluxDB 2.0 and Your First Flux Query by Sonia Gupta
InfluxData
Citus Architecture: Extending Postgres to Build a Distributed Database
Citus Architecture: Extending Postgres to Build a Distributed Database
Ozgun Erdogan
Recommended
Flask Basics
Flask Basics
Eueung Mulyana
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
NAVER D2
Web develop in flask
Web develop in flask
Jim Yeh
Nginx Internals
Nginx Internals
Joshua Zhu
Getting Ready to Use Redis with Apache Spark with Dvir Volk
Getting Ready to Use Redis with Apache Spark with Dvir Volk
Spark Summit
The MySQL Query Optimizer Explained Through Optimizer Trace
The MySQL Query Optimizer Explained Through Optimizer Trace
oysteing
Intro to InfluxDB 2.0 and Your First Flux Query by Sonia Gupta
Intro to InfluxDB 2.0 and Your First Flux Query by Sonia Gupta
InfluxData
Citus Architecture: Extending Postgres to Build a Distributed Database
Citus Architecture: Extending Postgres to Build a Distributed Database
Ozgun Erdogan
Python lambda functions with filter, map & reduce function
Python lambda functions with filter, map & reduce function
ARVIND PANDE
Introduction of Java GC Tuning and Java Java Mission Control
Introduction of Java GC Tuning and Java Java Mission Control
Leon Chen
What is new in MariaDB 10.6?
What is new in MariaDB 10.6?
Mydbops
PostgreSQL Extensions: A deeper look
PostgreSQL Extensions: A deeper look
Jignesh Shah
JVM Mechanics: When Does the JVM JIT & Deoptimize?
JVM Mechanics: When Does the JVM JIT & Deoptimize?
Doug Hawkins
JUnit 4
JUnit 4
Sunil OS
[Pgday.Seoul 2021] 1. 예제로 살펴보는 포스트그레스큐엘의 독특한 SQL
[Pgday.Seoul 2021] 1. 예제로 살펴보는 포스트그레스큐엘의 독특한 SQL
PgDay.Seoul
Security in PHP - 那些在滲透測試的小技巧
Security in PHP - 那些在滲透測試的小技巧
Orange Tsai
USENIX ATC 2017: Visualizing Performance with Flame Graphs
USENIX ATC 2017: Visualizing Performance with Flame Graphs
Brendan Gregg
Practical learnings from running thousands of Flink jobs
Practical learnings from running thousands of Flink jobs
Flink Forward
Building a Streaming Microservice Architecture: with Apache Spark Structured ...
Building a Streaming Microservice Architecture: with Apache Spark Structured ...
Databricks
Airflow at lyft
Airflow at lyft
Tao Feng
My first 90 days with ClickHouse.pdf
My first 90 days with ClickHouse.pdf
Alkin Tezuysal
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
SANG WON PARK
점진적인 레거시 웹 애플리케이션 개선 과정
점진적인 레거시 웹 애플리케이션 개선 과정
Arawn Park
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
Kaxil Naik
Redis
Redis
DaeMyung Kang
Klee and angr
Klee and angr
Wei-Bo Chen
Introduction to SLURM
Introduction to SLURM
CSUC - Consorci de Serveis Universitaris de Catalunya
Elastic Stack & Data pipeline
Elastic Stack & Data pipeline
Jongho Woo
Server Side Swift
Server Side Swift
Chad Moone
SymfonyCon Berlin 2016 - Symfony Plugin for PhpStorm - 3 years later
SymfonyCon Berlin 2016 - Symfony Plugin for PhpStorm - 3 years later
Haehnchen
More Related Content
What's hot
Python lambda functions with filter, map & reduce function
Python lambda functions with filter, map & reduce function
ARVIND PANDE
Introduction of Java GC Tuning and Java Java Mission Control
Introduction of Java GC Tuning and Java Java Mission Control
Leon Chen
What is new in MariaDB 10.6?
What is new in MariaDB 10.6?
Mydbops
PostgreSQL Extensions: A deeper look
PostgreSQL Extensions: A deeper look
Jignesh Shah
JVM Mechanics: When Does the JVM JIT & Deoptimize?
JVM Mechanics: When Does the JVM JIT & Deoptimize?
Doug Hawkins
JUnit 4
JUnit 4
Sunil OS
[Pgday.Seoul 2021] 1. 예제로 살펴보는 포스트그레스큐엘의 독특한 SQL
[Pgday.Seoul 2021] 1. 예제로 살펴보는 포스트그레스큐엘의 독특한 SQL
PgDay.Seoul
Security in PHP - 那些在滲透測試的小技巧
Security in PHP - 那些在滲透測試的小技巧
Orange Tsai
USENIX ATC 2017: Visualizing Performance with Flame Graphs
USENIX ATC 2017: Visualizing Performance with Flame Graphs
Brendan Gregg
Practical learnings from running thousands of Flink jobs
Practical learnings from running thousands of Flink jobs
Flink Forward
Building a Streaming Microservice Architecture: with Apache Spark Structured ...
Building a Streaming Microservice Architecture: with Apache Spark Structured ...
Databricks
Airflow at lyft
Airflow at lyft
Tao Feng
My first 90 days with ClickHouse.pdf
My first 90 days with ClickHouse.pdf
Alkin Tezuysal
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
SANG WON PARK
점진적인 레거시 웹 애플리케이션 개선 과정
점진적인 레거시 웹 애플리케이션 개선 과정
Arawn Park
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
Kaxil Naik
Redis
Redis
DaeMyung Kang
Klee and angr
Klee and angr
Wei-Bo Chen
Introduction to SLURM
Introduction to SLURM
CSUC - Consorci de Serveis Universitaris de Catalunya
Elastic Stack & Data pipeline
Elastic Stack & Data pipeline
Jongho Woo
What's hot
(20)
Python lambda functions with filter, map & reduce function
Python lambda functions with filter, map & reduce function
Introduction of Java GC Tuning and Java Java Mission Control
Introduction of Java GC Tuning and Java Java Mission Control
What is new in MariaDB 10.6?
What is new in MariaDB 10.6?
PostgreSQL Extensions: A deeper look
PostgreSQL Extensions: A deeper look
JVM Mechanics: When Does the JVM JIT & Deoptimize?
JVM Mechanics: When Does the JVM JIT & Deoptimize?
JUnit 4
JUnit 4
[Pgday.Seoul 2021] 1. 예제로 살펴보는 포스트그레스큐엘의 독특한 SQL
[Pgday.Seoul 2021] 1. 예제로 살펴보는 포스트그레스큐엘의 독특한 SQL
Security in PHP - 那些在滲透測試的小技巧
Security in PHP - 那些在滲透測試的小技巧
USENIX ATC 2017: Visualizing Performance with Flame Graphs
USENIX ATC 2017: Visualizing Performance with Flame Graphs
Practical learnings from running thousands of Flink jobs
Practical learnings from running thousands of Flink jobs
Building a Streaming Microservice Architecture: with Apache Spark Structured ...
Building a Streaming Microservice Architecture: with Apache Spark Structured ...
Airflow at lyft
Airflow at lyft
My first 90 days with ClickHouse.pdf
My first 90 days with ClickHouse.pdf
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
Apache kafka 모니터링을 위한 Metrics 이해 및 최적화 방안
점진적인 레거시 웹 애플리케이션 개선 과정
점진적인 레거시 웹 애플리케이션 개선 과정
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
Apache Airflow in the Cloud: Programmatically orchestrating workloads with Py...
Redis
Redis
Klee and angr
Klee and angr
Introduction to SLURM
Introduction to SLURM
Elastic Stack & Data pipeline
Elastic Stack & Data pipeline
Similar to Flask With Server-Sent Event
Server Side Swift
Server Side Swift
Chad Moone
SymfonyCon Berlin 2016 - Symfony Plugin for PhpStorm - 3 years later
SymfonyCon Berlin 2016 - Symfony Plugin for PhpStorm - 3 years later
Haehnchen
One commit, one release. Continuously delivering a Symfony project.
One commit, one release. Continuously delivering a Symfony project.
Javier López
Performance and Scalability Testing with Python and Multi-Mechanize
Performance and Scalability Testing with Python and Multi-Mechanize
coreygoldberg
OpenFaaS JeffConf 2017 - Milan
OpenFaaS JeffConf 2017 - Milan
Alex Ellis
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Fabrice Bernhard
When to use Serverless? When to use Kubernetes?
When to use Serverless? When to use Kubernetes?
Niklas Heidloff
Laravel Forge: Hello World to Hello Production
Laravel Forge: Hello World to Hello Production
Joe Ferguson
Python Flask app deployed to OPenShift using Wercker CI
Python Flask app deployed to OPenShift using Wercker CI
Bruno Rocha
Deploying Plack Web Applications: OSCON 2011
Deploying Plack Web Applications: OSCON 2011
Tatsuhiko Miyagawa
Php through the eyes of a hoster confoo
Php through the eyes of a hoster confoo
Combell NV
The Modern Developer Toolbox
The Modern Developer Toolbox
Pablo Godel
OpenFaaS KubeCon Zero to Serverless in 60 seconds anywhere
OpenFaaS KubeCon Zero to Serverless in 60 seconds anywhere
Alex Ellis
Distributed app development with nodejs and zeromq
Distributed app development with nodejs and zeromq
Ruben Tan
Kubernetes上で動作する機械学習モジュールの配信&管理基盤Rekcurd について
Kubernetes上で動作する機械学習モジュールの配信&管理基盤Rekcurd について
LINE Corporation
[Struyf] Automate Your Tasks With Azure Functions
[Struyf] Automate Your Tasks With Azure Functions
European Collaboration Summit
Creating a Smooth Development Workflow for High-Quality Modular Open-Source P...
Creating a Smooth Development Workflow for High-Quality Modular Open-Source P...
Pantheon
"Applied Enterprise Metaprogramming in JavaScript", Vladyslav Dukhin
"Applied Enterprise Metaprogramming in JavaScript", Vladyslav Dukhin
Fwdays
php[world] 2015 Laravel 5.1: From Homestead to the Cloud
php[world] 2015 Laravel 5.1: From Homestead to the Cloud
Joe Ferguson
IVS CTO Night And Day 2018 Winter - [re:Cap] Serverless & Mobile
IVS CTO Night And Day 2018 Winter - [re:Cap] Serverless & Mobile
Amazon Web Services Japan
Similar to Flask With Server-Sent Event
(20)
Server Side Swift
Server Side Swift
SymfonyCon Berlin 2016 - Symfony Plugin for PhpStorm - 3 years later
SymfonyCon Berlin 2016 - Symfony Plugin for PhpStorm - 3 years later
One commit, one release. Continuously delivering a Symfony project.
One commit, one release. Continuously delivering a Symfony project.
Performance and Scalability Testing with Python and Multi-Mechanize
Performance and Scalability Testing with Python and Multi-Mechanize
OpenFaaS JeffConf 2017 - Milan
OpenFaaS JeffConf 2017 - Milan
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
When to use Serverless? When to use Kubernetes?
When to use Serverless? When to use Kubernetes?
Laravel Forge: Hello World to Hello Production
Laravel Forge: Hello World to Hello Production
Python Flask app deployed to OPenShift using Wercker CI
Python Flask app deployed to OPenShift using Wercker CI
Deploying Plack Web Applications: OSCON 2011
Deploying Plack Web Applications: OSCON 2011
Php through the eyes of a hoster confoo
Php through the eyes of a hoster confoo
The Modern Developer Toolbox
The Modern Developer Toolbox
OpenFaaS KubeCon Zero to Serverless in 60 seconds anywhere
OpenFaaS KubeCon Zero to Serverless in 60 seconds anywhere
Distributed app development with nodejs and zeromq
Distributed app development with nodejs and zeromq
Kubernetes上で動作する機械学習モジュールの配信&管理基盤Rekcurd について
Kubernetes上で動作する機械学習モジュールの配信&管理基盤Rekcurd について
[Struyf] Automate Your Tasks With Azure Functions
[Struyf] Automate Your Tasks With Azure Functions
Creating a Smooth Development Workflow for High-Quality Modular Open-Source P...
Creating a Smooth Development Workflow for High-Quality Modular Open-Source P...
"Applied Enterprise Metaprogramming in JavaScript", Vladyslav Dukhin
"Applied Enterprise Metaprogramming in JavaScript", Vladyslav Dukhin
php[world] 2015 Laravel 5.1: From Homestead to the Cloud
php[world] 2015 Laravel 5.1: From Homestead to the Cloud
IVS CTO Night And Day 2018 Winter - [re:Cap] Serverless & Mobile
IVS CTO Night And Day 2018 Winter - [re:Cap] Serverless & Mobile
More from Tencent
Viny storage—网络游戏数据存储的终极解决方案
Viny storage—网络游戏数据存储的终极解决方案
Tencent
Hxhsm——取代mvc的状态机框架
Hxhsm——取代mvc的状态机框架
Tencent
Web开发人员之路
Web开发人员之路
Tencent
Qt 基础
Qt 基础
Tencent
Twitter bootstrap2.0 taste
Twitter bootstrap2.0 taste
Tencent
Meteor
Meteor
Tencent
Introduction to hubot
Introduction to hubot
Tencent
More from Tencent
(7)
Viny storage—网络游戏数据存储的终极解决方案
Viny storage—网络游戏数据存储的终极解决方案
Hxhsm——取代mvc的状态机框架
Hxhsm——取代mvc的状态机框架
Web开发人员之路
Web开发人员之路
Qt 基础
Qt 基础
Twitter bootstrap2.0 taste
Twitter bootstrap2.0 taste
Meteor
Meteor
Introduction to hubot
Introduction to hubot
Recently uploaded
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
BookNet Canada
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
BookNet Canada
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
Rick Flair
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
Sergiu Bodiu
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
Neo4j
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
Curtis Poe
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
LoriGlavin3
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
ThousandEyes
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Mark Goldstein
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
Ingrid Airi González
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
Hiroshi SHIBATA
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Pim van der Noll
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
ThousandEyes
2024 April Patch Tuesday
2024 April Patch Tuesday
Ivanti
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
LoriGlavin3
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
LoriGlavin3
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Alkin Tezuysal
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
DianaGray10
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
Kari Kakkonen
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
Knoldus Inc.
Recently uploaded
(20)
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
2024 April Patch Tuesday
2024 April Patch Tuesday
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
Flask With Server-Sent Event
1.
with Server-Sent Events
@cppgohan
2.
Flask?
3.
Flask? MicroFramework again...
4.
Flask? MicroFramework again... Written in
Python
5.
=
6.
=
7.
= Werkzeug WSGI utility library
8.
=
+ Werkzeug WSGI utility library
9.
=
+ Werkzeug WSGI utility library
10.
=
+ Werkzeug Jinja2 WSGI utility library template engine
11.
Demo Hello.py
12.
Demo Hello.py
13.
Demo Hello.py
14.
Demo index.html
15.
Demo index.html result???
16.
Demo index.html result??? •
terminal run: python hello.py • open http://localhost:5000
17.
Server-Sent Event server push的html5标准,
用法简易, 单次连接比polling高效些. 相比websocket的双向二进制数据, Server-Sent Event只是单向, HTTP协议. (但浏览器调试工具往往没法看到服务器发来的数据, X_X) Server对Client的请求, 做stream方式的响应.
18.
Server-Sent Event
19.
Server-Sent Event
支 持 率 不 要 能 高, 暂 兼 ”玩” 时 容 只 处 理
20.
Demo index.html
21.
Demo hello.py
22.
Demo redis:
23.
Demo redis:
demo:FILE_TEXT -- 每次python读出来的文本 demo:FILE_TEXT_SEQ -- 为文本版本号, 每次文本更新, 版本号+1 /sever_push响应 -- 当FILE_TEXT_SEQ增加时, 将最新的文本返回给浏览器
24.
Demo result???
25.
Demo result??? •
terminal run: python hello.py
26.
Demo result??? •
terminal run: python hello.py • open http://localhost:5000
27.
Demo result??? •
terminal run: python hello.py • open http://localhost:5000 • block!!!
28.
Demo result??? •
terminal run: python hello.py • open http://localhost:5000 • block!!! solution???
29.
Demo result??? •
terminal run: python hello.py • open http://localhost:5000 • block!!! solution??? • async WSGI server! (eg. gunicorn + gevent, gevent)
30.
Demo result??? •
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.
Demo result??? •
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.
Demo result??? •
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 Demo Server下发代码示例
34.
More Demo Server下发代码示例 • 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, 分享不止!
Download now