Flask アプリを Websocket クライアントとして別の Websocket サーバーに接続できません。
これを実装する方法を調べてみましたが、見つけた唯一の解決策は、接続が短命の1回限りの送受信の場合です。
そのため、Long-lived 接続を確立すると、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"