ZBLOG

15.2.1. Configuring Initial Peers A complete description of the initial peers list and its configuration can be found in Initial peers. For convenience, this example shows how to configure an initial peers list with one peer on host 192.168.10.13...

15.2.1. Configuring Initial Peers

在这一部分中,我们讨论了如何配置初始对等体列表,以便在 Fast DDS 中有效地进行发现和通信。详细的初始对等体列表描述及其配置方法可以参考 “Initial peers” 文档。在此,为了方便起见,提供一个示例,展示如何在域 0 中配置位于主机 192.168.10.13 上、参与者 ID 为 1 的单个初始对等体。

注意事项

需要注意的是,这里使用的端口号并不是任意选择的,因为发现端口是由 RTPS v2.2 标准定义的。如需了解这些标准端口号,可以参考 “Well Known Ports” 文档。

如果参与者 ID 不明确,则应将 TransportDescriptorInterface 的 maxInitialPeersRange 设置为至少预期的最大 DomainParticipants 数量,以确保发现和通信能够顺利进行。

C++ 示例代码

DomainParticipantQos qos;

// 配置一个初始对等体,位于主机 192.168.10.13。
// 该端口号对应于参与者 ID `1` 和域 `0` 的元流单播的知名端口。
Locator_t initial_peer;
IPLocator::setIPv4(initial_peer, "192.168.10.13");
initial_peer.port = 7412; // 使用知名端口7412
qos.wire_protocol().builtin.initialPeersList.push_back(initial_peer);

上面的 C++ 示例代码演示了如何通过设置一个初始对等体来配置 DomainParticipantQos 对象。首先指定了对等体的 IP 地址,然后将相应的端口(7412)分配给这个对等体,并将其添加到初始对等体列表中。

XML 配置示例

<?xml version="1.0" encoding="UTF-8" ?>
<profiles xmlns="http://www.eprosima.com">
    <participant profile_name="initial_peers_example_profile" is_default_profile="true">
        <rtps>
            <builtin>
                <initialPeersList>
                    <locator>
                        <udpv4>
                            <address>192.168.10.13</address>
                            <port>7412</port>
                        </udpv4>
                    </locator>
                </initialPeersList>
            </builtin>
        </rtps>
    </participant>
</profiles> 

上述 XML 示例展示了如何在 XML 配置文件中指定初始对等体的信息。它包含了与前述 C++ 示例相同的信息,即 IP 地址和端口。

总结

通过以上步骤,我们可以轻松地配置 Fast DDS 的初始对等体列表。这对于确保在 WiFi 等不稳定网络环境中的可靠通信至关重要。无论是通过编程方式还是 XML 配置,都能有效实现此目的,从而优化参与者之间的数据交换流程。


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

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

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

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

联系我们

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

微信号:3007537140

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

关注我们
x

注册

已经有帐号?