gpt4 book ai didi

c++ - 连接到DDS中的主机:是否完全联网?

转载 作者:行者123 更新时间:2023-12-02 10:25:02 24 4
gpt4 key购买 nike

我试图了解DDS并学习它。我一直在这里和那里阅读有关OpenSplice DDS的教程,其中有些令人困惑。

在本教程中,导师提到第8页中的某种“魔术”,发布者和订阅者是分离的,可以自动检测到参与者。

但是,如果我有参与者参加另一台计算机怎么办?也许在另一个国家?

看一下发布者的这个例子:

dds::Topic<TempSensorType> tsTopic("TempSensorTopic");
dds::DataWriter<TempSensorType> dw(tsTopic);
TempSensorTypets = {1, 26.0F, 70.0F, CELSIUS};
dw.write(ts);

和订户的以下示例:
dds::Topic<TempSensorType> tsTopic("TempSensorTopic");
dds::DataReader<TempSensorType> dr(tsTopic);
dds::SampleInfoSeq info;TempSensorSeq data;
while (true)
{ dr.read(data, info);
for (inti =0; i < data.length(); ++i)
std::cout << data[i] << std::endl;sleep(1);
}

this full working example of both( tspub.cpp是发布者,而 tssub.cpp是订阅者),我不知道人们如何远程连接。如何订阅另一台机器?我怎样才能得到一个很好的简单示例来远程工作?

请询问您是否需要更多信息或详细信息。

最佳答案

参与者之间通过UDP多播相互连接-请记住,这在标准中已进行了描述,因此,要获得完整和完整的了解,请阅读该内容。它是免费提供的。

规范中仅定义了UDP,因此,如果它们使用替代连接策略(shmem,TCP,其他),则它将取决于供应商。 RTI实现无法通过shmem与OpenSplice实现对话(但可以通过UDP环回)。

从已知的UDP端口开始进行协商。

如果两个系统在同一子网上并启用了多播,则它们将通过标准中描述的魔术连接。假定它们具有兼容的域ID,主题,类型和QoS。

确实:阅读标准。

关于c++ - 连接到DDS中的主机:是否完全联网?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41960115/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com