如何使用Flask SocketIO制作多个事件?
我有一个socetio连接,可在点击按钮时进行搜索:如何使用Flask SocketIO制作多个事件?,flask,flask-socketio,Flask,Flask Socketio,我有一个socetio连接,可在点击按钮时进行搜索: $(document).ready(function () { var socket = io.connect('http://' + document.domain + ':' + location.port); socket.on('connect', function () { socket.emit('seatch event', { data: 'App Sta
$(document).ready(function () {
var socket = io.connect('http://' + document.domain + ':' + location.port);
socket.on('connect', function () {
socket.emit('seatch event', {
data: 'App Started'
})
var form = $('form').on('submit', function (e) {
let search_query = $('#search_text').val()
socket.emit('search event', {
search_query: encodeURIComponent(search_query)
})
})
});
socket.on('search_results_event', function (msg) {
//do someting
});
现在我想添加另一个事件,在我的例子中,我想向服务器发送数据,并在列表中的
元素变为激活时接收应答
如何添加此事件?我必须添加另一个连接?
有什么建议吗?您不需要另一个连接。一旦连接了套接字,您就可以使用socket.on
,因为您已经必须捕获从服务器发出的事件,例如socket.emit('[event\u name],[data\u object])
将数据发送到服务器
在Javascript端,您可以这样发出
socket.emit('my_event', {'message': 'hello world'})
您可以在烧瓶上并排处理此问题
@socketio.on('my_event')
def handle_my_event(data):
print('Received an instance of my_event')
# will print {'message': 'hello world'}
print(data)
类似地,您可以从flask
服务器发出事件,例如通过
from flask_socketio import emit
emit('search_results_event', {'key': 'value'})
这将由问题中的
上现有的套接字处理。emit
的第二个参数是要发送的数据-通常是json
有关更多信息,请参阅