У меня есть сообщение, которое генерируется на стороне сервера.
В соответствии с flask-socketio doc , вы можете отправлять сгенерированное на сервере сообщение обратно клиенту через socketio.emit
или socketio.send
Сообщение отправлено потребителю Kafka.
topicReply = 'botReply'
consumerReply = KafkaConsumer(topicReply, value_deserializer=lambda m: json.loads(m.decode('ascii')))
for message in consumerReply:
fromConsumer(message.value)
Я отправляю это сообщение server.py
, просто вызывая метод fromConsumer
, как показано выше.
Затем в моем server.py
я звоню socketio.emit
, чтобы отправить его клиенту
app = Flask(__name__)
socketio = SocketIO(app)
def fromConsumer(msg):
socketio.emit('reply', msg)
if __name__ == '__main__':
socketio.run(app)
Затем на стороне клиента javascript
var socket = io.connect('http://localhost:1000/');
socket.on('reply', function(msg) {
console.log('Received reply');
console.log(msg)
});
Это должнопокажите мне полученное ответное сообщение в консоли браузера javascript, но я ничего не вижу.
Что мне не хватает?Пожалуйста, предложите.