ZBLOG

A Locator_t uniquely identifies a communication channel with a remote peer for a particular transport. For example, on UDP transports, the Locator will contain the information of the IP address and port of the remote peer. The Locator class is no...

Locator_t 唯一标识了与远程对等体的通信通道,特定于某个传输协议。例如,在 UDP 传输中,Locator 将包含远程对等体的 IP 地址和端口信息。

Locator 类

  • 非抽象类:Locator 类不是一个抽象类,并且没有针对每种传输类型实现特别的实例化。相反,各种传输应将 Locator 类的数据成员映射到其自身的通道识别概念上。例如,在共享内存(Shared Memory)传输中,地址包含本地主机的唯一 ID,而端口表示用于通信缓冲区描述符的共享环形缓冲区。

有关如何配置 DomainParticipant 以监听进入流量的信息,请参见监听定位器(Listening Locators)。

数据成员

Locator 定义了以下数据成员:

成员 数据类型 描述
kind int32_t 传输类型的唯一标识符
port uint32_t 通道端口
address octet[16] 通道地址

在 TCP 中,locator 的端口被分为物理端口和逻辑端口:

  • 物理端口:由网络设备使用,是操作系统理解的真实端口。它存储在 port 成员的两个最低有效字节中。

  • 逻辑端口:RTPS 端口,用于 RTPS 协议区分不同实体。它存储在 port 成员的两个最高有效字节中。

在 TCP 中,这种区分允许多个 DDS 应用程序使用不同的 RTPS 端口(逻辑端口)共享同一个物理端口,从而只需为所有通信打开一个单独的端口。而在 UDP 中,只有物理端口,即 RTPS 端口,也存储在 port 成员的两个最低有效字节中。

Locator 地址

Locator 地址以16个字节表示,根据所使用协议是 IPv4 还是 IPv6,会有不同的管理方式:

  • IPv6 地址:利用可用的16个字节表示唯一且全球可寻址。

  • IPv4 地址:将这16个字节划分为以下三部分,由低到高的重要性排序:

    • 4 字节局域网 IP(LAN IP):本地子网标识(UDP 和 TCP)。
    • 4 字节广域网 IP(WAN IP):公共 IP(仅 TCP)。
    • 8 字节未使用空间。

Locator IPv4 地址示例

+--------+-----------------------------+-----------------------------+
| Unused | WAN address (62.128.41.210) | LAN address (192.168.0.113) |
+--------+-----------------------------+-----------------------------+
8 bytes       (TCP only)      4 bytes                  4 bytes

Locator IPv6 地址示例

+--------------------------------------------------------------------+
|          Address (2001:0000:130F:0000:0000:09C0:876A:130B)         |
+--------------------------------------------------------------------+
                              16 bytes

小结

总之,Locator_t 是用于实现远程通信的重要组件,它通过提供统一的方法来处理不同传输协议下通道的信息,为 Fast DDS 框架中的各类应用程序提供支持。理解其数据结构对于进行网络编程和设计基于 DDS 的系统至关重要。如果需要进一步了解如何操作 WAN 地址,可以查看相关 TCP IPv4 的传输描述符 API 部分。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:http://sdn.0voice.com/?id=7210

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?