首先要知道amqp協議是做什麼的,amap是乙個提供統一訊息服務的應用層標準協議,基於此協議的客戶端與訊息中介軟體可傳遞訊息,rabbitmq就是實現了這個協議的乙個軟體。
訊息者
<?php
//建立連線-->
//建立channel-->
//建立交換機-->
//建立佇列-->
//繫結交換機/佇列/路由鍵-->
//接收訊息
$conn_args = array(
'host' => '127.0.0.1',
'port' => '5672',
'login' => 'guest',
'password' => 'guest',
'vhost'=>'/'
);//交換機名訊息是不能直接傳送到佇列,它需要傳送到交換器
$e_name='e_zcj';//交換機名
$q_name="q_zcj";//佇列名
$k_route="key_1";//路由key
//連線到borker和例項乙個channel
$conn=new amqpconnection($conn_args);
if(!$conn->connect())
//例項channel
//大部分的業務操作是在rabbitmq中提供channel這個介面中完
//成的,在php相應的擴充套件中的amapchanenl需要連線的例項包
//括定義queue、定義exchange、繫結queue與exchange、發布
//訊息
$channel=new amqpchannel($conn);
//建立交換機
$ex=new amqpexchange($channel);
$ex->setname($e_name);
//設定交換機型別
$ex->settype(amqp_ex_type_direct);//direct型別
$ex->setflags(amqp_durable);//持久化
//輸出交換機狀態
echo
"exchange status:".$ex->declare()."\n";
//建立佇列
$q=new amqpqueue($channel);
$q->setname($e_name);//佇列名
//持久化 這個方法做了什麼去看c原始碼吧,,
$q->setflags(amqp_durable);
echo
"message total:".$q->declare()."\n";
//繫結交換機與佇列,並指定路由鍵
echo
"queue bind: ".$q->bind($e_name,$k_route)."\n";
echo
"message:\n";
while(true)
function
processmessage
($envelope,$queue)
生產者
<?php
//$conn_args = array(
'host' => '127.0.0.1',
'port' => '5672',
'login' => 'guest',
'password' => 'guest',
'vhost'=>'/'
);$e_name = 'e_zcj';
$k_route = 'key_1';
$conn = new amqpconnection($conn_args);
if (!$conn->connect())
$channel = new amqpchannel($conn);
$message = "test message! 鄭程駿 is 天才";
$ex = new amqpexchange($channel);
$ex->setname($e_name);
echo
"send message:".$ex->publish($message, $k_route)."\n";
$conn->disconnect();
在C 中使用訊息佇列RabbitMQ
1 什麼是rabbitmq。詳見 作用就是提高系統的併發性,將一些不需要及時響應客戶端且占用較多資源的操作,放入佇列,再由另外乙個執行緒,去非同步處理這些佇列,可極大的提高系統的併發能力。2 安裝 a.如果沒有erlang執行環境,在安裝過程中會提醒先安裝erlang環境。注意安裝完成後必須配置環境...
在C 中使用訊息佇列RabbitMQ
參考文章 開發環境 工具 vs2017 rabbitmq erlang執行環境 先安裝erlang執行環境然後再安裝rabbitmq 安裝和配置就不說了 預設安裝路徑 c program files rabbitmq server,在rabbitmq server 3.6.11 sbin資料夾下有b...
在php中使用Sphinx
要使用php連線sphinx進行全文搜尋,有兩種方式 將sphinx作為php擴充套件安裝,這種方式比較麻煩,此處不介紹 在sphinx原始碼目錄下的有個api sphinxapi.php,將此檔案reqire到你的php中,即可呼叫api方法進行全文搜尋 require sphinxapi.php...