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

时间:2018-04-02 18:55:38

标签: ip publish-subscribe datareader data-distribution-service

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

我将如何做到这一点我在形成做什么的逻辑上遇到了一些麻烦?

1 个答案:

答案 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的那一刻,所有这些都会中断。