Отправка сгенерированного сервером сообщения обратно клиенту через Flask-SocketIO-Kafka - PullRequest
0 голосов
/ 08 июня 2018

У меня есть сообщение, которое генерируется на стороне сервера.

В соответствии с 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, но я ничего не вижу.

Что мне не хватает?Пожалуйста, предложите.

...