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);
});