2.1.7 运行实例
我们现在可以运行我们的简单示例了。运行这些命令窗口应该使你最容易理解的输出。
首先, 我们将开始一个 DCPSInfoRepo 服务, 所以我们的出版商和订户可以找到一个另一个。
注意:如果使用对等搜索来配置使用 RTPS 发现的环境。
DCPSInfoRepo 可执行文件在 $DDS_ROOT/bin/DCPSInfoRepo。当我们启动DCPSInfoRepo 时,我们需要确保发布服务器和订阅服务器应用程序进程能够也找到启动了的的 DCPSInfoRepo。此信息可通过以下三种方式之一提供:
a.) 命令行上的参数
b。生成并放置在共享文件中要使用的应用程序, 或
c。在配置文件中为其他进程放置的参数
使用.对于我们的简单示例, 我们将使用选项 "b" 来生成位置属性的 DCPSInfoRepo 到一个文件, 使我们的简单的发布者和订阅者可以
阅读并连接到它。
从当前目录类型:
Windows:
%DDS_ROOT%\bin\DCPSInfoRepo -o simple.ior
Unix:
$DDS_ROOT/bin/DCPSInfoRepo -o simple.ior
-o 参数指示 DCPSInfoRepo 将其连接信息生成到为发布服务器和订阅服务器使用的文件simle.ior。在另外的窗口中, 导航到包含sample.ior可返回文件的相同目录, 并在
我们的示例键入:
Windows:
subscriber -DCPSInfoRepo file://simple.ior
Unix:
./subscriber -DCPSInfoRepo file://simple.ior
命令行参数指示应用程序使用指定的文件来定位DCPSInfoRepo我们的订阅者现在等待消息发送, 所以我们现在开始具有相同参数的单独窗口中的发布服务器:
Windows:
publisher -DCPSInfoRepo file://simple.ior
Unix
./publisher -DCPSInfoRepo file://simple.ior
发布服务器连接到 DCPSInfoRepo 以查找任何订阅服务器的位置, 并开始发布消息并将其写入控制台。在 "订阅服务器" 窗口中,
现在, 您还应该看到正在读取消息的订阅服务器的控制台输出从演示一个简单的发布和订阅应用程序的主题。
您可以阅读更多有关配置您的应用程序的 RTPS 和其他更高级7.3.3 节和节7.4.5.5 中的配置选项。要了解有关配置的更多信息
使用 DCPSInfoRepo 转到7.3 节和9章。要查找有关设置的更多信息并使用修改应用程序行为的 qos 功能阅读本章3
2.1.8 使用RTPS运行实例
前面的 OpenDDS 示例演示了如何构建和执行 OpenDDS使用基本 OpenDDS 配置和集中发现的应用程序使用DCPSInfoRepo 服务。以下详细说明运行同一示例所需的内容RTPS 的发现和可互操作的传输。这在场景中很重要,您的 OpenDDS 应用程序需要与非 OpenDDS 实现进行互操作dds 规范或者如果您不想在部署中使用集中式发现OpenDDS。
上面的 messenger 示例的编码和生成在使用 RTPS 而不需要更改, 因此您不需要修改或重新生成发布服务器和订阅服务器服务。这是一个OpenDDS 体系结构的优势在于, 为了实现 RTPS 功能, 它是配置的练习。7章将介绍更多关于所有可用的运输, 包括 RTPS, 但是, 对于这个练习, 我们将启用 RTPS 的信使示例使用一个配置文件, 发布服务器和订阅服务器将共享。导航到已生成发布服务器和订阅服务器的目录。创建一个新的文本文件名为 rtps.ini, 并使用以下内容填充它:
[common]
DCPSGlobalTransportConfig=$file
DCPSDefaultDiscovery=DEFAULT_RTPS
[transport/the_rtps_transport]
transport_type=rtps_udp
有关配置文件的详细信息, 请在接下来的章节中指定, 但两行为将发现方法和数据传输协议设置为RTPS
现在, 让我们重新运行我们的示例, 启用 RTPS, 首先启动订阅服务器进程, 然后然后发布者开始发送数据。最好在不同的窗口中启动它们, 以查看两人分开工作。
使用 --DCPSConfigFile 命令行参数启动订阅服务器, 以指向新创建的配置文件..。
Windows:
subscriber -DCPSConfigFile rtps.ini
Unix:
./subscriber -DCPSConfigFile rtps.ini
现在, 使用相同的参数启动发布服务器.。
Windows:
publisher -DCPSConfigFile rtps.ini
Unix:
./publisher -DCPSConfigFile rtps.ini
由于 RTPS 规范中没有集中的发现, 因此有规定允许等待时间以允许发现发生。该规范将默认值设置为30秒.当上述两个进程开始时, 可能会有多达30秒的延迟这取决于它们彼此之间的距离。这一次可以调整OpenDDS 配置文件稍后讨论了7.3.3。
因为 OpenDDS 的体系结构允许可插入的发现和可插入传输在上面的 rtps. ini 文件中调用的两个配置项可以是
与一个使用 RTPS 和另一个不使用 RTPS (例如, 使用 DCPSInfoRepo 的集中发现) 独立更改。在我们的示例中将它们设置为 RTPS
应用程序与其他非 OpenDDS 实现完全互操作。