在 RTI DDS 上获取 DataReader/Subscriber 的 IP 地址?
Get IP Address of DataReader/Subscriber on RTI DDS?
我正在使用 RTI DDS 5.2.3.17
并且想要获取我正在向其发送消息的远程 DataReader/Subscriber
的 IP 地址,以添加到一些日志消息中。
我该怎么做我在形成要做什么的逻辑时遇到了一些困难?
针对您的问题 描述的机制,使用 SampleInfo,不适用于获取 DataReaders 的 IP 地址
根据具体情况,最简单的方法可能是 install a listener on your DataWriter and inspect the last_subscription_handle
parameter when the DataWriterListener’s on_publication_matched()
callback is invoked. As explained in the RTI Knowledge Base article Accessing the GUID of Connext DDS Entities,实例句柄本质上是供您检查的另一个 GUID。
如果您有许多需要跟踪的读者,订阅用于发现的 BuiltinTopics 可能会更容易,如同一篇知识库文章中所述。不过,这是更多的工作。
同样,所有这些都假设您正在寻找 IPv4 地址。另请注意,这不是公开的机制,因此将来可能会发生变化。当您的应用程序明确设置其 GUID 时,所有这一切都会中断。
我正在使用 RTI DDS 5.2.3.17
并且想要获取我正在向其发送消息的远程 DataReader/Subscriber
的 IP 地址,以添加到一些日志消息中。
我该怎么做我在形成要做什么的逻辑时遇到了一些困难?
针对您的问题
根据具体情况,最简单的方法可能是 install a listener on your DataWriter and inspect the last_subscription_handle
parameter when the DataWriterListener’s on_publication_matched()
callback is invoked. As explained in the RTI Knowledge Base article Accessing the GUID of Connext DDS Entities,实例句柄本质上是供您检查的另一个 GUID。
如果您有许多需要跟踪的读者,订阅用于发现的 BuiltinTopics 可能会更容易,如同一篇知识库文章中所述。不过,这是更多的工作。
同样,所有这些都假设您正在寻找 IPv4 地址。另请注意,这不是公开的机制,因此将来可能会发生变化。当您的应用程序明确设置其 GUID 时,所有这一切都会中断。