在 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 地址?的主要内容,如果未能解决你的问题,请参考以下文章
使用开源库opendds实现数据分发服务dds 这个是啥意思? 谢谢各位大大~
Python pandas-datareader 在逗号上失败