English | 简体中文 | 繁體中文
查询

ZMQDevice::run()函数—用法及示例

「 连接两个 ZMQ 套接字 」


函数名称:ZMQDevice::run()

适用版本:ZMQ extension >= 1.0.0

函数描述:ZMQDevice::run() 方法启动一个 ZMQ 设备,用于连接两个 ZMQ 套接字。它会在两个套接字之间建立一个消息代理,将消息从一个套接字转发到另一个套接字。

用法:

ZMQDevice::run(ZMQSocket $frontend, ZMQSocket $backend, ?ZMQSocket $capture = null)

参数:

  1. $frontend:ZMQSocket 类型的前端套接字,用于接收来自客户端的消息。
  2. $backend:ZMQSocket 类型的后端套接字,用于将消息发送给服务端。
  3. $capture(可选):ZMQSocket 类型的捕获套接字,用于捕获代理收到的所有消息。

返回值:无返回值。

示例:

// 创建一个上游套接字
$frontend = new ZMQSocket(new ZMQContext(), ZMQ::SOCKET_PULL);
$frontend->bind("tcp://*:5555");

// 创建一个下游套接字
$backend = new ZMQSocket(new ZMQContext(), ZMQ::SOCKET_PUSH);
$backend->bind("tcp://*:5556");

// 创建一个捕获套接字,用于记录代理收到的消息
$capture = new ZMQSocket(new ZMQContext(), ZMQ::SOCKET_PUB);
$capture->bind("tcp://*:5557");

// 启动代理
ZMQDevice::run($frontend, $backend, $capture);

上述示例中,我们创建了一个消息代理,将来自客户端的消息通过上游套接字 $frontend 转发给服务端,然后服务端通过下游套接字 $backend 接收到消息。同时,我们还创建了一个捕获套接字 $capture,用于记录代理收到的所有消息。

请确保在运行示例之前,已经正确安装并启用了 ZMQ 扩展。

补充纠错
热门PHP函数
分享链接