PHP Conference Japan 2024

Stomp::subscribe

stomp_subscribe

(PECL stomp >= 0.1.0)

Stomp::subscribe -- stomp_subscribe註冊以監聽指定的目的地

說明

物件導向風格 (方法)

public Stomp::subscribe(字串 $destination, 陣列 $headers = ?): 布林值

程序風格

stomp_subscribe(資源 $link, 字串 $destination, 陣列 $headers = ?): 布林值

註冊監聽指定的目的地。

參數

link

僅限程序式風格:由 stomp_connect() 返回的 stomp 連線識別碼。

destination

要訂閱的目的地。

headers

包含額外標頭的關聯式陣列(例如:receipt)。

返回值

成功時返回 true,失敗時返回 false

範例

參見 stomp_ack()

注意事項

提示

Stomp 本質上是非同步的。可以透過添加 receipt 標頭來實現同步通訊。這將導致方法在伺服器確認收到訊息或讀取逾時之前不會返回任何值。

新增筆記

使用者貢獻的筆記 1 則筆記

-1
holycd
7 年前
透過 Stomp 從 PHP 使用主題
$clientId = 'test:dev';
$topic = '/topic/perm.user';

try {
$stomp = new Stomp('tcp://127.0.0.1:61613','system','manager', array('client-id'=> $clientId ));
} catch(StompException $e) {
die('連線失敗:' . $e->getMessage());
}

$isSubscribe = $stomp->subscribe($topic);

while($isSubscribe){
if ($stomp->hasFrame()) {
$frame = $stomp->readFrame();
if ($frame != NULL) {
print "已收到:" . $frame->body . " - 現在時間是 " . date("Y-m-d H:i:s"). "\n";
// $stomp->ack($frame);
}
// sleep(1);
}
} else {
print "沒有要讀取的框架\n";
}
}
}
if($isSubscribe){
$stomp->unsubscribe($topic);
}

unset($stomp);
To Top