以间隔向所有连接的客户端发送数据。烧瓶插座
Send data to all connected clients with interval. Flask-socketio
我正在后台使用 Flask 创建一个在线游戏。
我在客户端有以下代码:
socket.on('get_update', function(data) {
console.log(data);
});
在服务器端,我需要以一定的间隔(例如 0.5 秒)
向所有连接的客户端发送 online_players
(dict)
我如何使用 Flask 做到这一点?
Use celery periodic task 使用 Flask-socketio。
创建一个周期性任务,该任务将在后台每秒 运行 或 0.5 秒。
可以使用 threading.Timer
。类似于 JavaScript 的 setTimeout
它 运行 是 n
秒后的一个函数。在目标函数中再次调用目标上的 start
到 运行 它会定期。
https://docs.python.org/3/library/threading.html#timer-objects
timer1 = threading.Timer(5, foo)
def foo():
print("foo")
timer2 = threading.Timer(5, foo)
到运行foo
不用等5s,直接将第1行替换为:
t1 = threading.Thread(target=foo)
我正在后台使用 Flask 创建一个在线游戏。
我在客户端有以下代码:
socket.on('get_update', function(data) {
console.log(data);
});
在服务器端,我需要以一定的间隔(例如 0.5 秒)
向所有连接的客户端发送 online_players
(dict)
我如何使用 Flask 做到这一点?
Use celery periodic task 使用 Flask-socketio。 创建一个周期性任务,该任务将在后台每秒 运行 或 0.5 秒。
可以使用 threading.Timer
。类似于 JavaScript 的 setTimeout
它 运行 是 n
秒后的一个函数。在目标函数中再次调用目标上的 start
到 运行 它会定期。
https://docs.python.org/3/library/threading.html#timer-objects
timer1 = threading.Timer(5, foo)
def foo():
print("foo")
timer2 = threading.Timer(5, foo)
到运行foo
不用等5s,直接将第1行替换为:
t1 = threading.Thread(target=foo)