名称

zmq_tipc - 使用 TIPC 的 0MQ 单播传输

概要

TIPC 是一种集群 IPC 协议,具有位置透明的寻址方案。

寻址

0MQ 端点是一个字符串,由 'transport'`://` 后跟一个 'address' 组成。'transport' 指定要使用的底层协议。'address' 指定要连接的传输特定地址。

对于 TIPC 传输,传输是 tipc,'address' 部分的含义定义如下。

为套接字分配端口名

使用 'tipc' 传输和 zmq_bind() 为套接字分配端口名时,'endpoint' 的定义形式为:{type, lower, upper}

  • Type 是您的服务的数值 (u32) ID。

  • Lower 和 Upper 指定您的服务的范围。

发布具有重叠 lower/upper ID 的同一服务将导致连接请求以轮询方式分布到这些服务上。

连接套接字

使用 'tipc' 传输和 zmq_connect() 将套接字连接到对等地址时,'endpoint' 应解释为服务 ID,后跟一个逗号和实例 ID。

实例 ID 必须在已发布的端口名的 lower/upper 范围内,端点才有效。

示例

为套接字分配本地地址
//  Publish TIPC service ID 5555
rc = zmq_bind(socket, "tipc://{5555,0,0}");
assert (rc == 0);
//  Publish TIPC service ID 5555 with a service range of 0-100
rc = zmq_bind(socket, "tipc://{5555,0,100}");
assert (rc == 0);
连接套接字
//  Connect to service 5555 instance id 50
rc = zmq_connect(socket, "tipc://{5555,50}");
assert (rc == 0);

参见

作者

此页面由 0MQ 社区编写。要进行更改,请阅读 0MQ 贡献政策:https://zeromq.cn/how-to-contribute/