gpt4 book ai didi

javascript - Flask-SocketIO 与 RabbitMQ 一起使用时未从前端接收消息

转载 作者:行者123 更新时间:2023-12-03 04:11:09 29 4
gpt4 key购买 nike

我正在尝试设置我的 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 服务器或仅发出进程时,队列在内部使用。客户端无权直接访问队列。

关于javascript - Flask-SocketIO 与 RabbitMQ 一起使用时未从前端接收消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44325703/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com