Flask Socketio 不更新数据
Flask Socketio not updating data
我正在使用 Flask Socketio。每次用户打开页面时,我的代码现在都会在控制台记录。但是,当我在新 tab/window 中打开页面时,原始用户的控制台未更新。下面是代码,看看吧
let socket = io.connect("http://127.0.0.1:5000/")
socket.on("connect",() => {
socket.emit("my custom event",{text:"I have joined"})
})
socket.on("my response",function(msg) {
console.log(msg)
})
这是 flask
的 python 代码
from flask import Flask, render_template, request
import requests
from flask_socketio import SocketIO, emit, send
app = Flask(__name__)
app.config["SECRET_KEY"] = "hope"
socketio = SocketIO(app)
@app.route('/')
def hello_world():
return render_template("index.html")
@app.route('/1')
def random_route():
return render_template("index2.html")
@socketio.on('message')
def message(data):
print(data)
@socketio.on('my custom event')
def handle_custom_event(data):
emit("my response", data)
if __name__ == "__main__":
socketio.run(app, debug=True)
emit
函数的默认设置是仅将事件发送给发送者。如果您想解决所有已连接的客户端,则必须使用 broadcast
选项进行指示:
@socketio.on('my custom event')
def handle_custom_event(data):
emit("my response", data, broadcast=True)
我正在使用 Flask Socketio。每次用户打开页面时,我的代码现在都会在控制台记录。但是,当我在新 tab/window 中打开页面时,原始用户的控制台未更新。下面是代码,看看吧
let socket = io.connect("http://127.0.0.1:5000/")
socket.on("connect",() => {
socket.emit("my custom event",{text:"I have joined"})
})
socket.on("my response",function(msg) {
console.log(msg)
})
这是 flask
的 python 代码from flask import Flask, render_template, request
import requests
from flask_socketio import SocketIO, emit, send
app = Flask(__name__)
app.config["SECRET_KEY"] = "hope"
socketio = SocketIO(app)
@app.route('/')
def hello_world():
return render_template("index.html")
@app.route('/1')
def random_route():
return render_template("index2.html")
@socketio.on('message')
def message(data):
print(data)
@socketio.on('my custom event')
def handle_custom_event(data):
emit("my response", data)
if __name__ == "__main__":
socketio.run(app, debug=True)
emit
函数的默认设置是仅将事件发送给发送者。如果您想解决所有已连接的客户端,则必须使用 broadcast
选项进行指示:
@socketio.on('my custom event')
def handle_custom_event(data):
emit("my response", data, broadcast=True)