send 如何在 flask-socketio 中工作?
How does send work in flask-socketio?
我无法理解 send
函数在 flask-socketio
中的工作原理。
例如,我使用 flask-socketio
作为服务器,socket.io
作为客户端:
服务器:
@socketio.on("test")
def handle_test():
send("Wow")
客户:
socket.emit('test', "", (data) => {
console.log(data);
});
我想我可以从服务器端得到 data
,但我错了。我一无所获。
我知道我可以建立一个基于事件的结构。但我无法理解 send
是如何工作的。它会向客户端发送响应吗?如果会,我怎么能得到那个回应?如果不会,它有什么作用?
首先,我建议您使用 emit()
而不是 send()
。
要从客户端发送到服务器,请使用:
socket.emit('test', {data: 'my data'});
在服务器上,您可以接收事件然后发送回客户端:
@socketio.on('test')
def handle_test():
emit('wow');
要在客户端接收第二次发射,请执行以下操作:
socket.on('wow', function(data) {
console.log(data);
});
我无法理解 send
函数在 flask-socketio
中的工作原理。
例如,我使用 flask-socketio
作为服务器,socket.io
作为客户端:
服务器:
@socketio.on("test")
def handle_test():
send("Wow")
客户:
socket.emit('test', "", (data) => {
console.log(data);
});
我想我可以从服务器端得到 data
,但我错了。我一无所获。
我知道我可以建立一个基于事件的结构。但我无法理解 send
是如何工作的。它会向客户端发送响应吗?如果会,我怎么能得到那个回应?如果不会,它有什么作用?
首先,我建议您使用 emit()
而不是 send()
。
要从客户端发送到服务器,请使用:
socket.emit('test', {data: 'my data'});
在服务器上,您可以接收事件然后发送回客户端:
@socketio.on('test')
def handle_test():
emit('wow');
要在客户端接收第二次发射,请执行以下操作:
socket.on('wow', function(data) {
console.log(data);
});