Подключение приложения Flask к серверу Websocket

#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 не должен означать, что вы можете запускать все это одновременно в одном процессе?