dawuge

 

生产者

<?php
$exchangeName = "sendMessage";
$queueName = "sendMessageQueue";
$routeKey = "sendMessageKey";

$message = "hello rabbitmq message!";

$connection  = new AMQPConnection([\'host\'=>\'127.0.0.1\',\'port\'=>\'5672\',\'vhost\'=>\'/\',\'login\'=>\'guest\',\'password\'=>\'guest\']);
$connection->connect() or die(\'can not connect broker server !\');

$channel = new AMQPChannel($connection);
//$channel->setPerfetchCount(1);

$exchange = new AMQPExchange($channel);
$exchange->setName($exchangeName);
$exchange->setType(AMQP_EX_TYPE_DIRECT);
$exchange->setFlags(AMQP_DURABLE);
$exchange->declareExchange();

$queue = new AMQPQueue($channel);
$queue->setName($queueName);
$queue->setFlags(AMQP_DURABLE);
$queue->declareQueue();

$queue->bind($exchangeName, $routeKey);

for($i=0;$i<100;$i++) {
    $exchange->publish($message, $routeKey);
}
$connection->disconnect();

 

消费者

<?php
$exchangeName = \'sendMessage\';
$queueName="sendMessageQueue";
$routeKey = \'sendMessageKey\';

$connection = new AMQPConnection([\'host\'=>\'127.0.0.1\',\'port\'=>\'5672\',\'vhost\'=>\'/\',\'login\'=>\'guest\',\'password\'=>\'guest\']);
$connection->connect() or die(\'can not connect broker server !\');

$channel = new AMQPChannel($connection);
//$channel->setPerfetchCount(1);

$exchange = new AMQPExchange($channel);
$exchange->setName($exchangeName);
$exchange->setType(AMQP_EX_TYPE_DIRECT);
$exchange->setFlags(AMQP_DURABLE);
$exchange->declareExchange();

$queue = new AMQPQueue($channel);
$queue->setName($queueName);
$queue->setFlags(AMQP_DURABLE);
$queue->declareQueue();

$queue->bind($exchangeName, $routeKey);

echo "message ........";
while(true){
    $queue->consume(\'dealMsg\');
}

$connection->disconnect();

function dealMsg($event, $q){
    $msg = $event->getBody();
    echo $msg."\r\n";
    $q->ack($event->getDeliveryTag());
}

 

分类:

技术点:

相关文章:

  • 2021-10-11
  • 2021-11-20
  • 2022-01-18
  • 2022-12-23
  • 2021-06-29
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-19
  • 2021-06-01
  • 2022-12-23
相关资源
相似解决方案