我正在使用RTI DDS 5.2.3.17
,并希望获取我要向其发送消息的远程DataReader/Subscriber
的IP地址,以添加到某些日志消息中。
我将如何做到这一点我在形成做什么的逻辑上遇到了一些麻烦?
答案 0 :(得分:2)
使用SampleInfo为您的问题here描述的机制不适用于获取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的那一刻,所有这些都会中断。