您的位置:首页 > 编程语言 > PHP开发

mq例子程序-php版

2017-07-13 10:57 225 查看
//生产者
public function actionDemo22(){
$connection = new AMQPStreamConnection('localhost', 5672, 'guest', 'guest');
$channel = $connection->channel();
$channel->exchange_declare("exchangeb","direct", false, false, false) ;
$msg = new AMQPMessage('Hello World info aa!');
$channel->basic_publish($msg, 'exchangeb',"info");

echo " [x] Sent 'Hello World!'\n";
$channel->close();
$connection->close();
}

//消费者
public function actionDemo23(){
$connection = new AMQPStreamConnection('localhost', 5672, 'guest', 'guest');
$channel = $connection->channel();
$channel->exchange_declare("exchangeb","direct", false, false, false) ;

list($queue_name, ,) = $channel->queue_declare("queueb", false, true, false, false);
$channel->queue_bind($queue_name, 'exchangeb',"info");

echo ' [*] Waiting for messages. To exit press CTRL+C', "\n";
$message = $channel->basic_get("queueb",true) ;
if(!empty($message)){
$key = $message->delivery_info['routing_key'];
$a1 = $message->getBody();
var_dump($key);
var_dump($a1);
}
$channel->close();
$connection->close();
}

//消费者
public function actionDemo24(){
$connection = new AMQPStreamConnection('localhost', 5672, 'guest', 'guest');
$channel = $connection->channel();
$channel->exchange_declare("exchangeb","direct", false, false, false) ;

list($queue_name, ,) = $channel->queue_declare("queueb", false, true, false, false);
$channel->queue_bind($queue_name, 'exchangeb',"info");

$callback = function($msg){
echo ' [x] ', $msg->body, "\n";
};
$channel->basic_consume($queue_name, '', false, true, false, false, $callback);

while(count($channel->callbacks)) {
$channel->wait();
}

$channel->close();
$connection->close();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: