FastAPI websocket 无法连接

FastAPI websocket can not connect

我正在尝试让我的 Vue.js 应用程序使用 websockets 与我的 FastAPI(基于 starlette)本地服务器进行通信。我尝试使用与示例中完全相同的代码:https://fastapi.tiangolo.com/tutorial/websockets/。然而奇怪的事情发生了,因为我的服务器无法启动,原因是:AttributeError: 'FastAPI' object has no attribute 'websocket'。这很奇怪,因为这个确切的代码是 FastAPI 的官方文档。
之后我使用了 Starlette 示例代码:https://www.starlette.io/websockets/。但是,当我尝试连接到它时,FastApi 会打印到终端:WARNING: Invalid HTTP request received.
我尝试使用另一个客户端,简单的 WebSocket 客户端:https://chrome.google.com/webstore/detail/simple-websocket-client/pfdhoblngboilpfeibdedpjgfnlcodoo,但终端上出现相同的错误。
我在这里做错了什么?首先,我觉得 FastAPI 代码似乎无法在我的计算机上运行很奇怪,有人知道为什么吗?

提前致谢!

显然,WebSocket 功能是在刚刚发布的 FastAPI 0.24 中添加的。我使用的是旧版本。

运行 pip install websockets 并配置如下:

from fastapi import FastAPI, WebSocket

@app.websocket("/ws")
async def send_data(websocket:WebSocket):
    print('CONNECTING...')
    await websocket.accept()
    while True:
        try:
            await websocket.receive_text()
            resp = {
            "message":"message from websocket"
            }
            await websocket.send_json(resp)
        except Exception as e:
            print(e)
            break
    print("CONNECTION DEAD...")