FastAPI WebSocket ping/PONG超时 [英] FastAPI websocket ping/pong timeout

查看:0
本文介绍了FastAPI WebSocket ping/PONG超时的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在@app.websocket中使用FastAPI来侦听传入的WebSocket。FastAPI(或其下的Starlette或Uvicorn)是如何实现ping/pong心跳的?这是否可配置?我在文档中根本找不到它。

from fastapi import FastAPI, WebSocket

app = FastAPI()

@app.websocket("/")
def ws(websocket: WebSocket):
    pass

fastapi使用starlette,在幕后它似乎使用websocketswebsockets.connect默认使用ping_intervalping_timeout20秒,但我不知道FastAPI中是否使用了该值。

推荐答案

现在可以使用以下两个标志:

  1. --ws-ping-interval <float>-设置WebSockets ping间隔,以秒为单位。请注意,这只能与默认的websockets协议一起使用。
  2. --ws-ping-timeout <float>-设置WebSockets ping超时,以秒为单位。请注意,这只能与默认的websockets协议一起使用。

这篇关于FastAPI WebSocket ping/PONG超时的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆