我正在尝试创建一个Flask 服务器(端口 5000),它与React 客户端(端口 3000)有一个 socket.io 连接。当我尝试执行服务器脚本(如下所示)时,我收到一条错误消息,指出“ http://localhost:3000 不是可接受的来源”,即使我使用的是 CORS。
服务器测试.py:
from flask import Flask
from flask_socketio import SocketIO, emit
from flask_cors import CORS, cross_origin
import os
from dotenv import load_dotenv, find_dotenv
load_dotenv(find_dotenv())
app = Flask(__name__)
app.config['CORS_HEADERS'] = 'Content-Type'
app.config['SECRET_KEY'] = os.environ.get('SECRET')
socketio = SocketIO(app)
CORS(app)
@socketio.on('connect')
@cross_origin()
def handle_connection():
emit('server-client', 'Test message')
@socketio.on('client-server')
@cross_origin()
def handle_client_msg(msg):
print("\n" + str(msg))
if __name__ == '__main__':
app.run(host="localhost", port=os.environ.get('PORT'))
socketio.run(app)
Run Code Online (Sandbox Code Playgroud)
应用程序.jsx:
import { io } from 'socket.io-client';
// ... …Run Code Online (Sandbox Code Playgroud)