Jon*_*han 10 websocket starlette fastapi uvicorn
我正在使用 FastAPI 来@app.websocket监听传入的 websocket。FastAPI(或下面的 Starlette 或 Uvicorn)如何进行 ping/pong 心跳?这是可配置的吗?我根本无法在文档中找到它。
from fastapi import FastAPI, WebSocket
app = FastAPI()
@app.websocket("/")
def ws(websocket: WebSocket):
pass
Run Code Online (Sandbox Code Playgroud)
fastapi使用starlette,并且在幕后似乎使用websockets。websockets.connect默认情况下使用 20 秒的 aping_interval和ping_timeout,但我不知道 FastAPI 中是否使用了它。
您现在可以使用以下 2 个标志:
--ws-ping-interval <float>- 设置 WebSockets ping 间隔(以秒为单位)。请注意,这只能与默认协议一起使用websockets。--ws-ping-timeout <float>- 设置 WebSockets ping 超时(以秒为单位)。请注意,这只能与默认协议一起使用websockets。| 归档时间: |
|
| 查看次数: |
8587 次 |
| 最近记录: |