PHP Conference Japan 2024

Stomp::send

stomp_send

(PECL stomp >= 0.1.0)

Stomp::send -- stomp_send傳送訊息

說明

物件導向風格 (方法)

public Stomp::send(字串 $destination, 混合 $msg, 陣列 $headers = ?): 布林值

程序式風格

stomp_send(
    資源 $link,
    字串 $destination,
    混合 $msg,
    陣列 $headers = ?
): 布林值

發送訊息至訊息代理程式 (Message Broker)。

參數

link

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

destination

訊息的發送目的地。

msg

要發送的訊息。

headers

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

傳回值

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

範例

參見 stomp_ack()

注意事項

注意:

可以指定一個交易標頭,指示訊息確認應作為指定交易的一部分。

提示

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

新增筆記

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

-4
james dot mk dot green at gmail dot com
13 年前
如果沒有 receipt 標頭,您的應用程式發送訊息的速度可能會比代理程式接收訊息的速度快。代理程式可能會發出失敗通知,但是由於 STOMP 是非同步的,您的用戶端將無法看到它。

如果沒有 receipt 標頭,啟用 ProducerFlowControl 的 ActiveMQ (5.5.0) 會丟棄訊息(即使是持久性訊息),而我的應用程式對此一無所知(send() 返回 true)。如果指定了 receipt 標頭,STOMP 函式庫會為您處理 receipt 確認的等待 - 您基本上會自動被節流。
To Top