首页 > 解决方案 > Flask socketio server + React socket.io-client 连接被拒绝

问题描述

我无法从 React 前端连接到 python 后端。

这是错误

polling-xhr.js:268 GET http://localhost:5000/socket.io/?EIO=3&transport=polling&t=NEzs39W net::ERR_CONNECTION_REFUSED

前端代码(在 http://localhost:3000 上监听):

import React from 'react';
import { render } from 'react-dom';
import io from "socket.io-client";

class App extends React.Component {

   constructor(props) {
       super(props);

       const socket = io('http://localhost:5000');

       socket.on('connect', (error) => {
           console.log(error);
       });
   }

   render() {
       return <h1>Hi!</h1>
   }
};

render(
   <App />,
   document.getElementById('root')
);

后端代码:

from flask_cors import CORS
from flask_socketio import SocketIO, emit

app = Flask(__name__)
cors = CORS(app, resources={r"/*":{"origins":"*"}})
socket = SocketIO(app)

if __name__ == '__main__':
    socket.run(app, host='0.0.0.0', port=5000)

我的代码有什么问题?谢谢

标签: pythonreactjsflasksocket.io

解决方案


在这里,您不应将任何变量分配给CORS

cors = CORS(app, resources={r"/*":{"origins":"*"}})

而是尝试使用:

 CORS(app, resources={r"/*":{"origins":"*"}})

推荐阅读