OpenDDS运行示例(Messenger)程序

2023-10-24 02:32

本文主要是介绍OpenDDS运行示例(Messenger)程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 根据上篇博客,我们搭建了OpenDDS的使用环境。Windows下的OpenDDS编译(超详细)_山中野竹的博客-CSDN博客_opendds windows

下面基于此环境,运行OpenDDS提供的 Messenger示例程序

本文介绍运行发布订阅程序的三种方式。分别为:

  • ior文件 集中订阅方式

  • ip+port 集中订阅方式

  • 点对点发现方式

使用三种发布订阅方式之前,首先找到OpenDDS提供的示例程序。其位置在

\OpenDDS-3.10\DevGuideExamples\DCPS\Messenger 文件夹下

接下来使用三种方式运行示例程序。

一. ior文件 集中订阅方式

1. 首先,生成 ior 文件,生成命令如下:

// DCPSInfoRepo -o ior文件的生成位置  
DCPSInfoRepo -o E:\Software\Work\OpenDDS\OpenDDS-3.10\DevGuideExamples\DCPS\Messenger\simple.ior// 或者在想要生成ior文件的路径下,进入cmd命令行执行
// 格式  DCPSInfoRepo -o 文件名.ior   
DCPSInfoRepo -o repo.ior   

执行命令后检查是否生成了 ior文件

2. 在messenger文件夹下,首先开启订阅程序

// 1.打开一个新的cmd命令行,首先切换到你的 Messenger 文件夹下
cd E:\Software\Work\OpenDDS\OpenDDS-3.10\DevGuideExamples\DCPS\Messenger// 2.然后执行订阅程序
subscriber -DCPSInfoRepo file://simple.ior//3.点击 允许访问

3. 在messenger文件夹下,开启发布程序

// 1.再打开一个新的cmd命令行,首先切换到你的 Messenger 文件夹下
cd E:\Software\Work\OpenDDS\OpenDDS-3.10\DevGuideExamples\DCPS\Messenger// 2.然后执行发布程序
publisher -DCPSInfoRepo file://simple.ior// 3.点击 允许访问

然后订阅程序处,发现订阅程序可订阅到发布程序发布的数据

以下两种方式做简略介绍

二. 点对点方式

1. 提前在 Messenger 目录下新建好rtps.ini

rtps.ini是 点对点方式的配置文件,文件内容如下

[common]
DCPSGlobalTransportConfig=$file
DCPSDefaultDiscovery=DEFAULT_RTPS 
​
[transport/the_rtps_transport]
transport_type=rtps_udp

2. 依次开启订阅,发布程序

// CMD到 Messenger目录下,开启订阅程序
subscriber -DCPSConfigFile rtps.ini
// CMD到 Messenger目录下,开启发布程序
publisher -DCPSConfigFile rtps.ini  // 注意上述两个cmd命令行窗口 需要各自独立

三. 集中方式(IP+PORT)

1. 提前在 Messenger 目录下新建好dds_tcp_config.ini

dds_tcp_config.ini是 集中方式的配置文件,文件内容如下

[common]
DCPSDebugLevel=0
DCPSInfoRepo=corbaloc::127.0.0.1:12345/DCPSInfoRepo
DCPSGlobalTransportConfig=config1[config/config1]
transports=tcp1[transport/tcp1]
transport_type=tcp

2. 依次开启仓库,订阅,发布程序

// CMD命令行下 开启仓库
DCPSInfoRepo -ORBListenEndpoints iiop://127.0.0.1:12345
​
// CMD到 Messenger目录下,开启订阅程序
subscriber -DCPSConfigFile dds_tcp_config.ini// CMD到 Messenger目录下,开启发布程序
publisher -DCPSConfigFile dds_tcp_config.ini// 注意上述三个cmd命令行窗口 需要各自独立

这篇关于OpenDDS运行示例(Messenger)程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/272131

相关文章

SpringBoot基于MyBatis-Plus实现Lambda Query查询的示例代码

《SpringBoot基于MyBatis-Plus实现LambdaQuery查询的示例代码》MyBatis-Plus是MyBatis的增强工具,简化了数据库操作,并提高了开发效率,它提供了多种查询方... 目录引言基础环境配置依赖配置(Maven)application.yml 配置表结构设计demo_st

SpringCloud集成AlloyDB的示例代码

《SpringCloud集成AlloyDB的示例代码》AlloyDB是GoogleCloud提供的一种高度可扩展、强性能的关系型数据库服务,它兼容PostgreSQL,并提供了更快的查询性能... 目录1.AlloyDBjavascript是什么?AlloyDB 的工作原理2.搭建测试环境3.代码工程1.

Java中ArrayList的8种浅拷贝方式示例代码

《Java中ArrayList的8种浅拷贝方式示例代码》:本文主要介绍Java中ArrayList的8种浅拷贝方式的相关资料,讲解了Java中ArrayList的浅拷贝概念,并详细分享了八种实现浅... 目录引言什么是浅拷贝?ArrayList 浅拷贝的重要性方法一:使用构造函数方法二:使用 addAll(

Golang使用etcd构建分布式锁的示例分享

《Golang使用etcd构建分布式锁的示例分享》在本教程中,我们将学习如何使用Go和etcd构建分布式锁系统,分布式锁系统对于管理对分布式系统中共享资源的并发访问至关重要,它有助于维护一致性,防止竞... 目录引言环境准备新建Go项目实现加锁和解锁功能测试分布式锁重构实现失败重试总结引言我们将使用Go作

JAVA利用顺序表实现“杨辉三角”的思路及代码示例

《JAVA利用顺序表实现“杨辉三角”的思路及代码示例》杨辉三角形是中国古代数学的杰出研究成果之一,是我国北宋数学家贾宪于1050年首先发现并使用的,:本文主要介绍JAVA利用顺序表实现杨辉三角的思... 目录一:“杨辉三角”题目链接二:题解代码:三:题解思路:总结一:“杨辉三角”题目链接题目链接:点击这里

Linux使用nohup命令在后台运行脚本

《Linux使用nohup命令在后台运行脚本》在Linux或类Unix系统中,后台运行脚本是一项非常实用的技能,尤其适用于需要长时间运行的任务或服务,本文我们来看看如何使用nohup命令在后台... 目录nohup 命令简介基本用法输出重定向& 符号的作用后台进程的特点注意事项实际应用场景长时间运行的任务服

SpringBoot使用注解集成Redis缓存的示例代码

《SpringBoot使用注解集成Redis缓存的示例代码》:本文主要介绍在SpringBoot中使用注解集成Redis缓存的步骤,包括添加依赖、创建相关配置类、需要缓存数据的类(Tes... 目录一、创建 Caching 配置类二、创建需要缓存数据的类三、测试方法Spring Boot 熟悉后,集成一个外

如何在一台服务器上使用docker运行kafka集群

《如何在一台服务器上使用docker运行kafka集群》文章详细介绍了如何在一台服务器上使用Docker运行Kafka集群,包括拉取镜像、创建网络、启动Kafka容器、检查运行状态、编写启动和关闭脚本... 目录1.拉取镜像2.创建集群之间通信的网络3.将zookeeper加入到网络中4.启动kafka集群

Springboot使用RabbitMQ实现关闭超时订单(示例详解)

《Springboot使用RabbitMQ实现关闭超时订单(示例详解)》介绍了如何在SpringBoot项目中使用RabbitMQ实现订单的延时处理和超时关闭,通过配置RabbitMQ的交换机、队列和... 目录1.maven中引入rabbitmq的依赖:2.application.yml中进行rabbit

Python绘制土地利用和土地覆盖类型图示例详解

《Python绘制土地利用和土地覆盖类型图示例详解》本文介绍了如何使用Python绘制土地利用和土地覆盖类型图,并提供了详细的代码示例,通过安装所需的库,准备地理数据,使用geopandas和matp... 目录一、所需库的安装二、数据准备三、绘制土地利用和土地覆盖类型图四、代码解释五、其他可视化形式1.