首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FastAPI websocket无法连接

FastAPI websocket无法连接
EN

Stack Overflow用户
提问于 2019-05-28 18:05:31
回答 2查看 3.1K关注 0票数 0

我试图让我的Vue.js应用程序与我的FastAPI(基于星体)本地服务器使用websockets进行通信。我尝试使用与其示例中的代码完全相同的代码: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代码似乎无法在我的计算机上工作,有人知道为什么吗?

提前感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-29 07:32:43

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

票数 1
EN

Stack Overflow用户

发布于 2021-07-13 06:02:38

运行pip install websockets并按以下方式配置它:

代码语言:javascript
复制
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...")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56347815

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档