1 回答

TA貢獻1871條經(jīng)驗 獲得超8個贊
下面幾行顯示了 emit 函數(shù)的簽名
def emit(self, event, data=None, room=None, include_self=True,
namespace=None, callback=None):
在您的 Flask 應(yīng)用程序中,您有一個注冊test_timer事件的處理程序。在此處理程序中,您需要發(fā)出一個響應(yīng)事件,后跟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)
在您的客戶端代碼中,您還需要為 發(fā)出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);
});
添加回答
舉報