首页 > 解决方案 > 将 Flask 应用程序连接到 Websocket 服务器

问题描述

无法将 Flask 应用程序作为 websocket 客户端连接到另一个 websocket 服务器。

我试图环顾如何实现这一点,但我发现的唯一解决方案是连接是短暂的一次性发送接收。

因此,当我建立长期连接时,Flask 应用程序不再运行。我猜这个问题,是因为他们都在“永远”运行。

因此,如果先运行以下代码,flask 应用程序将不会运行,如果我执行相反的操作,则不会建立 websocket 连接。

 websocket.enableTrace(True)
 ws = websocket.WebSocketApp(config["WS_URI"],
                                on_message = on_message,
                                on_error = on_error,
                                on_close = on_close)
 ws.on_open = on_open

 ws.run_forever() 

一个示例 Flask 应用程序:

from flask import Flask

app = Flask(__name__)

@app.route("/")
def index():
    return "index"

标签: pythonpython-3.xflaskwebsocketflask-sockets

解决方案


我找到的解决方案是在不同的进程上运行它们。我写了一个小帖子解释细节


推荐阅读