与 RabbitMQ 一起使用时,Flask-SocketIO 不接收来自前端的消息

尼尔·赫布斯特

我正在尝试设置我的 Flask 应用程序以使用 RabbitMQ 作为消息队列。如果我从服务器发出消息,它工作正常,但如果我尝试发出消息,则什么也没有发生。前端套接字似乎没有与队列通信。

我的套接字代码如下所示:

from flask_socketio import emit, SocketIO

socketio_mp = SocketIO(message_queue='amqp://guest:guest@localhost:5672//')

@socketio_mp.on('connected', namespace='/test')
def joined():
    """Sent by clients when they enter a room.
    A status message is broadcast to all people in the room."""
    print('connected')

套接字已正确初始化,如 Flask-SocketIO 文档中所示。connected即使它是从前端发射事件永远不会触发。

var namespace = "/test";
socket = io.connect(location.protocol + "//" + document.domain + ":" + location.port + namespace);

socket.on("connect", function() {

    console.log("connected");
    socket.emit("connected", {msg: "next"});
});

我在控制台中也没有收到任何错误。

米格尔

创建SocketIO实例时,您必须将 Flask 应用程序作为第一个参数传递:

socketio_mp = SocketIO(app, message_queue='amqp://guest:guest@localhost:5672//')

作为旁注,当您以这种方式添加消息队列时,我不确定您希望有什么不同。客户端从不与消息队列交谈。当您有多个 Flask-SocketIO 服务器或仅发出进程时,队列在内部使用。客户端不能直接访问队列。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将JMSListener与RabbitMQ一起使用

我该如何消费来自Rabbitmq的一批消息?

Node.js:在将mocha与passport.socketio一起使用时共享会话cookie

Flask SocketIO的正确配置

批量使用消息-RabbitMQ

如何使用socketio-jwt发出和接收经过身份验证的消息

使用RabbitMQ安排的消息

与TopShelf一起用作Windows服务时,RabbitMQ不接收消息

WrapPanel与ItemControl一起使用时不包装

斯威夫特:如何使用来自SocketIO generateWithAck方法的响应

Flask SocketIO引发ValueError

如何刷新flask_socketio发出的消息?

对象不包含数据,仅当与uWSGI FLASK应用程序中的apscheduler一起使用时

使用状态时如何在React中接收SocketIO事件

如何使用Chrome扩展程序接收来自网页onClick事件的消息?

对话的目标是否可以使用同一对话接收来自不同发起者的消息?

接收来自gmail的消息

如何在.Net中与不同类型的使用者一起使用RabbitMq消息?

ActiveMQ不接收来自生产者的消息

将RabbitMQ与Logstash一起使用时丢失消息

使用本地托管的 rabbitmq 消息

使用 Spring Integration 优化使用来自rabbitmq 的消息

来自服务器的 SocketIO 全局消息

Flask-SocketIO + uWSGI。与骡子工人一起发射

Flask-SocketIO 无法从 redis message_queue 接收事件

Flask SocketIO + Apache

如何自动给flask-socketio中的每条消息一个唯一的id?

如何使用 pika 消费来自 RabbitMQ 队列的所有消息

将 RabbitMQ 与 .NET Core WebAPI 一起使用时丢失消息