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
如此处解释:
嗨,
我有一个带有 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
如此处解释: