小编pmo*_*rim的帖子

React 和 Flask 与 Socket.IO - CORS 问题

我正在尝试创建一个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)

websocket cors flask socket.io reactjs

4
推荐指数
1
解决办法
2953
查看次数

标签 统计

cors ×1

flask ×1

reactjs ×1

socket.io ×1

websocket ×1