gpt4 book ai didi

node.js - 使用 symfonyrabbitMq 进行 NodeJs 通信

转载 作者:太空宇宙 更新时间:2023-11-03 22:28:15 24 4
gpt4 key购买 nike

Node Js:我使用nodejs和套接字创建了一个消费者,用于与rabbitMq 和 symfony

文件:consumer.js

var http = require('http'),
url = require('url'),
amqp = require('amqplib/callback_api');


amqp.connect('amqp://user:pass@192.168.99.10:55672', function(err, conn) {
conn.createChannel(function(err, ch) {
var q = 'hello';

ch.assertQueue(q, {durable: false});
console.log(" [*] Waiting for messages in %s. To exit press CTRL+C", q);
ch.consume(q, function(msg) {
console.log(" [x] Received %s", msg.content.toString());
}, {noAck: true});
});
});

文件:App.js

 var server = require('http').createServer();
var io = require('socket.io')(server);

io.on('connection', function(client){
console.log('here');
client.on('event', function(data){});
client.on('disconnect', function(){});
});
server.listen(3000);

Symfony 3

我用 symfony 3 创建了一个 Producer

 ProducerController

class ProducerController extends Controller
{

/**
* @Route("/producer", name="producer")
*/
public function uploadAction(Request $request)
{

$userId = mt_rand(1, 1000000);

$message = \Swift_Message::newInstance()
->setSubject('Sujet de l\'email')
->setFrom('test@xxx.com')
->setTo('destinaire@xxx.com')
->setBody($this->renderView('index.html.twig', ['userId' =>$userId]), 'text/html');
$this->get('old_sound_rabbit_mq.message_producer')->publish(serialize($message));

return $this->render('welcome.html.twig', ['userId' => $userId]);

}

}

config.yml

  old_sound_rabbit_mq:
connections:
default:
host: '192.168.99.10' # hostname and port of the rabbitmq server
port: 55672
user: 'user'
password: 'pass'
vhost: '/'
lazy: true # a lazy connection avoids unnecessary connections to the broker on every request

producers:
message:
connection: default # connects to the default connection configured above
exchange_options: {name: 'message', type: direct}

现在的问题是我不知道如何与生产者和消费者进行通信。Node Consumer.js 正常执行并等待消息node app.js 它什么也没显示给我

最佳答案

看来您可能没有发布到同一个队列。

我会使用docs, exactly as they are在进一步实验之前,请先使用 PHP 和 Javascript 进行发送和接收。

关于node.js - 使用 symfonyrabbitMq 进行 NodeJs 通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42202645/

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