gpt4 book ai didi

javascript - 即使建立连接后,Flask socketio 也没有收到来自 javascript 的任何消息

转载 作者:行者123 更新时间:2023-12-02 23:00:15 24 4
gpt4 key购买 nike

在 Flask 和 javascript 之间建立连接后,我试图从 javascript 获取响应。onconnect() 函数工作正常,但 onmessage() 不能正常工作。

我也尝试过使用 JavaScript 中的 Broadcast 方法,但它不起作用。

这是我的app.py

app=Flask(__name__)
bootstrap=Bootstrap(app)
socketio=SocketIO(app)

app.config['SECRET_KEY']="MY_KEY"

@app.route('/')
def login():
return render_template('index.html')

@app.route('/home',methods=['GET','POST'])
def home():
if(request.method=='POST'):
data=request.form
name=data['name']
return render_template('message.html',name=name)
else:
return render_template('index.html')

@socketio.on('connect')
def onconnect():
print("connect")

@socketio.on('message')
def onmessage(message):
print('message')

if(__name__=='__main__'):
socketio.run(app)

这是我的 JavaScript 文件

const ws =io.connect(window.location.href)

ws.on('connect', function() {
console.log("Connection estalished")
ws.emit("adsd",broadcast=true)
});

编辑:javscript 中有一个错误。

const ws =io()

这应该用于建立连接,而不是以前的方法。

我的项目已完成。 Link for the github project

最佳答案

首先,只有服务器可以广播,客户端只能发送到服务器。

其次,您要发出一个名为 adsd 的事件,因此您需要在服务器中添加该事件的处理程序。例如:

@socketio.on('adsd')
def adsd_handler():
print('got adsd!')

关于javascript - 即使建立连接后,Flask socketio 也没有收到来自 javascript 的任何消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57821250/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com