2024年PHP日本大会

Stomp::send

stomp_send

(PECL stomp >= 0.1.0)

Stomp::send -- stomp_send发送消息

描述

面向对象风格(方法)

public Stomp::send(string $destination, mixed $msg, array $headers = ?): bool

过程式风格

stomp_send(
    resource $link,
    string $destination,
    mixed $msg,
    array $headers = ?
): bool

将消息发送到消息代理。

参数

link

仅过程式风格:由stomp_connect()返回的stomp链接标识符。

destination

发送消息的位置

msg

要发送的消息。

headers

包含附加标头(例如:回执)的关联数组。

返回值

成功返回true,失败返回false

示例

参见stomp_ack()

注释

注意:

可以指定事务标头,指示消息确认应属于命名事务的一部分。

提示

Stomp 本质上是异步的。同步通信可以通过添加回执标头来实现。这将导致方法在服务器确认收到消息或达到读取超时之前不返回任何内容。

添加注释

用户贡献注释 1 条注释

-4
james dot mk dot green at gmail dot com
13 年前
如果没有回执标头,您的应用程序可能会以比代理接收速度更快的速度发送消息。代理可能会发出失败通知,但是由于 STOMP 是异步的,您的客户端将看不到它。

如果没有回执,启用 ProducerFlowControl 的 ActiveMQ (5.5.0) 会丢弃消息(即使是持久性消息),我的应用程序对此一无所知 (send() 返回 true)。指定回执标头后,STOMP 库会为您处理等待回执确认的过程——您实际上会自动进行节流。
To Top