flask_socketio 和 React 客户端 - 发送不工作

flask_socketio and React Client - send not working

嗨,

我有一个带有 React 客户端的 Flask 服务器,我正在使用 flask_socketio 创建一个套接字,并在我的 React 客户端上使用 socket.io-client 连接到它

通过在我的服务器上使用以下代码,我可以很好地发送和接收消息:

message = {"hello": "world"} 

with app.test_request_context('/'): 
    send (message, broadcast=True, namespace="/") 

我的客户端中有这段代码:

import io from "socket.io-client" 

let endPoint = "http://localhost:5000"; 
let socket = io.connect (`${endPoint}`); 

要连接到套接字和此代码以处理消息:

useEffect(() => {  

    socket.on ("message", msg => {
        console.log (msg); 
    }) 
}, []); 

但是!当我移动将消息发送到另一个文件的代码,然后像这样调用它时:(app 是代表我的烧瓶应用程序的全局变量)

from app import app 

with app.test_request_context('/'): 
    send ({"hello": "world"}, broadcast=True, namespace="/") 

客户端不再像以前那样接收消息

有什么想法吗?

解决方案是从 main 而不是从应用导入 "app":

from __main__ import app

如此处解释: