我有一个单元测试,我可以在其中测试DDS
当前发送消息。但是,我也想实现测试消息阅读器的能力。
问题是,由于程序设置用于创建 DDS 读取器和写入器。如果我尝试让读者成为我需要的读者,他们已经拥有与topic
作者相同的内容,因此会引发异常。
有没有人因此想出一种方法来模拟向读者发送 DDS 消息,就好像它们来自 DDS 作家一样?在一台计算机内,并且不使用网络上的单独计算机来执行此操作。
我有一个单元测试,我可以在其中测试DDS
当前发送消息。但是,我也想实现测试消息阅读器的能力。
问题是,由于程序设置用于创建 DDS 读取器和写入器。如果我尝试让读者成为我需要的读者,他们已经拥有与topic
作者相同的内容,因此会引发异常。
有没有人因此想出一种方法来模拟向读者发送 DDS 消息,就好像它们来自 DDS 作家一样?在一台计算机内,并且不使用网络上的单独计算机来执行此操作。
如果存在,您可以使用lookup_topicdescription()
onDomainParticipant
获取对先前创建的 的引用Topic
。在伪代码中,您可以执行类似的操作
use lookup_topicdescription() to see if topic exists
if topic does not exist
use create_topic() to create the topic
如果您的应用程序在多个线程中执行此操作,那么您将不得不抓住并释放围绕此代码的锁。