1 回答
TA贡献1871条经验 获得超8个赞
下面几行显示了 emit 函数的签名
def emit(self, event, data=None, room=None, include_self=True,
namespace=None, callback=None):
在您的 Flask 应用程序中,您有一个注册test_timer事件的处理程序。在此处理程序中,您需要发出一个响应事件,后跟data而不仅仅是data。例如,
@socketio.on('test_timer')
def Timer(seconds=3600):
def hms(seconds): # hour minute second function
h = seconds // 3600
m = seconds % 3600 // 60
s = seconds % 3600 % 60
return '{:02d}:{:02d}:{:02d}'.format(h, m, s)
for i in range(seconds):
emit('test_timer_reply', hms(seconds-i),broadcast=True)
socketio.sleep(1)
在您的客户端代码中,您还需要为 发出test_timer并注册一个侦听器test_timer_reply。
var socket = io().connect('http://127.0.0.1:5000');
socket.emit('test_timer')
socket.on('test_timer_reply', function(receiving_data) {
console.log(receiving_data);
});
添加回答
举报