我想将 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 服务时,它可以工作。
这个问题你解决了吗?我遇到了这个问题,所以如果你解决了,你能给我解决方案吗?