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

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

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

【问题讨论】:

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


    【解决方案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 描述了正确的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-10
    • 2010-11-04
    • 2014-10-01
    • 2011-01-18
    • 1970-01-01
    相关资源
    最近更新 更多