通过Flask-SocketIO-Kafka

时间:2018-06-08 00:06:17

标签: python flask socket.io apache-kafka flask-socketio

我有一条在服务器端生成的消息。

根据flask-socketio doc,您可以通过socketio.emitsocketio.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控制台中显示收到的回复消息,但我看不到任何内容。

我错过了什么?请建议。

0 个答案:

没有答案