python http streaming sse
时间: 2024-08-13 15:03:53 浏览: 109
在Python中,Server-Sent Events (SSE) 是一种用于实现实时数据推送的技术,它允许服务器向浏览器连续发送数据而无需客户端频繁刷新页面。HTTP Streaming SSE 利用了HTTP协议的一个非标准方法,通常在GET请求上启用事件流(Event Stream),通过`Content-Type: text/event-stream` 和`Cache-Control: no-cache` 等头部信息来识别。
以下是创建一个简单的Python SSE服务器的基本步骤:
```python
import asyncio
from aiohttp import web
async def handle(request):
request.content_type = 'text/event-stream'
request.response.enable_chunked_encoding()
await request.send_headers()
while True:
data = f'data: {str(time.time())}\n\n' # 发送实时时间或其他数据
await request.write(data.encode('utf-8'))
await asyncio.sleep(1) # 模拟每秒发送一次数据
app = web.Application()
app.router.add_get('/stream', handle)
web.run_app(app, port=8080) # 运行服务器监听8080端口
阅读全文