WebSocket 连接到...在 React 中失败,但可以与 Postman WebSocket 客户端一起使用

问题描述 投票:0回答:1

我想将 FAST API Websocket 连接到 React 客户端。当我尝试通过 Postman 建立连接时,它是working,但是当我尝试使用 React 时,它显示

WebSocket connection to ... failed

我的 Fast Api 正在通过 ngrok 隧道运行。

这就是后端功能的样子:

@app.websocket("/client_messages")
async def client_messages(websocket: WebSocket):
    print("Connected client messages websocket")
    await websocket.accept()
    try:
        while True:
            data = await websocket.receive_text()
    except WebSocketDisconnect:
        print("Client websocket disconnected")

这是抛出错误的反应行:

ws = new WebSocket("ws://possum-enough-informally.ngrok-free.app/client_messages");

这是我的 ngrok 配置:

from pyngrok import ngrok
import uvicorn

port = 5000
  
public_url = ngrok.connect(port, bind_tls=False, domain="possum-enough-informally.ngrok-free.app").public_url

我已检查该网址是否正确,更改 bind_tls 没有效果。

我希望建立到 websocket 的连接,我怀疑,它与证书有关,该证书是从 Postman 接受的,但不是从浏览器接受的。

该错误似乎与 ngrok 隧道有关,因为当我尝试通过本地主机提供 websocket 服务时,它可以工作。

reactjs websocket postman fastapi ngrok
1个回答
0
投票

这个问题你解决了吗?我遇到了这个问题,所以如果你解决了,你能给我解决方案吗?

© www.soinside.com 2019 - 2024. All rights reserved.