#python #python-3.x #flask #websocket #flask-sockets
#python #python-3.x #flask #websocket #flask-сокеты
Вопрос:
Не удается подключить приложение 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"
Комментарии:
1. Привет. У меня точно такая же проблема, как и у вас.
WebSocket
Здесь вы использовали класс в разделе «Пример Websocket»? Это позволяет встроить Websocket-client в фреймворк Flask. Просто закройте соединение, когда вы закрываете свое приложение. Пожалуйста, поправьте меня, если это невозможно.
Ответ №1:
Решение, которое я нашел, состояло в том, чтобы запускать их в разных процессах. Я написал небольшой пост, объясняющий детали.
Комментарии:
1. Я не понимаю, как это решение. Разве ASGI не должен означать, что вы можете запускать все это одновременно в одном процессе?