Я работаю над проектом, в котором приложение на основе Angular должно взаимодействовать с Flask через Socket.IO. мой код flask выглядит следующим образом:
from flask import Flask, render_template
from flask_socketio import SocketIO
from flask_cors import CORS
import json
app = Flask(__name__)
CORS(app)
#app.config['SECRET_KEY'] = 'vnkdjnfjknfl1232#'
socketio = SocketIO(app)
@app.route('/')
def sessions():
return render_template('index.html')
def messageReceived(methods=['GET', 'POST']):
print('message was received!!!')
@socketio.on('my event')
def handle_my_custom_event(json, methods=['GET', 'POST']):
json["user_name"]='Asad'
json["user_input"]='My Server'
print('received my event: ' + str(json))
socketio.emit('my response', json, callback=messageReceived)
if __name__ == '__main__':
socketio.run(app, debug=True, host='localhost', port = 5000)
когда я пытаюсь загрузить свой проект Angular, он сразу показывает ошибку, связанную с CORS. Я попытался установить Moesif Origin и CORS Changer и включить CORS в код сервера, как видно, но без улучшений. Код Angular взят из [https://tutorialedge.net/typescript/angular/angular-socket-io-tutorial/] [1]
, однако я не использую сервер websocket, показанный в этом руководстве, поскольку используется сервер со стороны Flask:
Показанная ошибка: Запрос на перекрестный запрос заблокирован: та же политика происхождения запрещает чтение удаленного ресурса по адресу http://localhost: 5000 / socket.io /? EIO = 3 & transport = polling & t = NCws9C7. (Причина: запрос CORS не выполнен). [1]: https://tutorialedge.net/typescript/angular/angular-socket-io-tutorial/