在 RTI DDS 上获取 DataReader/Subscriber 的 IP 地址?

Posted

技术标签:

【中文标题】在 RTI DDS 上获取 DataReader/Subscriber 的 IP 地址?【英文标题】:Get IP Address of DataReader/Subscriber on RTI DDS? 【发布时间】:2018-04-02 18:55:37 【问题描述】:

我正在使用RTI DDS 5.2.3.17 并想获取我正在向其发送消息的远程DataReader/Subscriber 的IP 地址,以添加到一些日志消息中。

我该怎么做?我在形成要做什么的逻辑时遇到了一些麻烦?

【问题讨论】:

【参考方案1】:

针对您的问题here 描述的使用 SampleInfo 的机制将无法用于获取 DataReaders 的 IP 地址

根据情况,最简单的方法可能是访问install a listener on your DataWriter 并检查last_subscription_handle parameter when the DataWriterListener’s on_publication_matched() callback is invoked。正如 RTI 知识库文章 Accessing the GUID of Connext DDS Entities 中所述,实例句柄本质上是另一个供您检查的 GUID。

如果您需要跟踪许多读者,订阅用于发现的 BuiltinTopics 可能会更容易,如同一篇知识库文章中所述。但这需要更多的工作。

同样,所有这些都假设您正在寻找 IPv4 地址。另请注意,这不是公开公开的机制,因此将来可能会发生变化。当您的应用程序显式设置其 GUID 时,所有这些都会中断。

【讨论】:

请查看我对other post 的评论。使用 GUID 不是获取 DomainParticipant 或 DataWriter 的 IP 地址的可靠方法。 post 描述了正确的方法。

以上是关于在 RTI DDS 上获取 DataReader/Subscriber 的 IP 地址?的主要内容,如果未能解决你的问题,请参考以下文章

安波福(Aptiv)选择RTI方案开发自动驾驶系统

Opensplice DDS 持久数据可以有多大?

使用开源库opendds实现数据分发服务dds 这个是啥意思? 谢谢各位大大~

Python pandas-datareader 在逗号上失败

实时互动RTI技术,生成式AI虚拟数字人,构建元宇宙基础设施,CloudXR开启元宇宙通道...

Oracle DataReader 在 GetDateTime 上出错