一个常用Python应用框架:FastAPI+Uvicorn 支持 WebSocket 的应用程序

Web应用示例

使用 Uvicorn 可用于异步 Web 服务

# main.py

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
async def read_root():
    return {"message": "Hello, World!"}

保存以上代码到 main.py 文件中。然后,在命令行中执行以下命令:

uvicorn main:app --reload

这将启动一个名为 main 的 ASGI 应用程序,使用 Uvicorn 服务器运行在本地主机的默认端口 8000 上,并监听根路径 / 的 GET 请求。在浏览器中访问 http://localhost:8000,将看到 “Hello, World!” 的消息。

WebSocket应用示例

现在,Python网络应用的流行框架为:FastAPI+Uvicorn 支持 WebSocket 的应用。这里给出一上框架示例,你可以将它扩展成一个具体的应用。

FastAPI 本身不直接支持 WebSocket,但你可以通过集成 Starlette(因为 FastAPI 是基于 Starlette 的)来实现 WebSocket 功能。

首先,确保你已经安装了 FastAPI 和 Uvicorn:

pip install fastapi uvicorn

然后,你可以创建一个 Python 文件(比如 main.py),并编写以下代码:

# main.py  
from fastapi import FastAPI  
from fastapi.responses import JSONResponse  
from starlette.websockets import WebSocket  
import asyncio  
  
app = FastAPI()  
  
# WebSocket 路由处理函数  
async def websocket_endpoint(websocket: WebSocket):  
    awa

你可能感兴趣的:(Python的高级知识,fastapi,python,Uvicorn,WebSocket)