Flask + Flask-SocketIOの構成で、
socket-ioの通信が No 'Access-Control-Arrow-Origin'
となった。
「Flask CORS」とかでググって出てくるFlask-CORS
を使った方法では解決できずハマった。
環境
- Python 3.7.4
- Flask 1.1.1
- Flask-SocketIO 4.2.1
解決
最終的に下記のコードで解決した。
from flask import Flask, render_template, request, redirect, url_for, session, make_response
from flask_socketio import SocketIO, emit, join_room, leave_room, close_room, rooms, disconnect
app = Flask(__name__)
socketio = SocketIO(app, cors_allowed_origins="*")
...
socketio.run(app, host="0.0.0.0", port=8000)
SocketIOサーバーオブジェクトを立ち上げる時の引数で cors_allowed_origins
を指定できる