OpenDDS在两台机器上使用方式

本文介绍了OpenDDS在两台机器上实现通信的两种方法:通过repo.ior和通过IP:PORT。详细步骤包括启动DCPSInfoRepo服务,配置subscriber和publisher,并强调了DCPSInfoRepo生成的repo.ior文件的重要性以及Linux虚拟机的网络模式设置。

【注意】,以下转载内容来自【http://blog.csdn.net/zhangrongrong123/article/details/78596669】,部分说法、内容和方法值得商榷,评论区可讨论或留言。

------------------------------------------转载内容——开始------------------------------------------

经过同事Zero和DDS技术大牛Stone的指导、演示本人终于会两台机器上DDS通信。

OpenDDS不同机器上通信有两种方式:

    一. 通过repo.ior通信(这种方式是opendds成熟的且自有的);

    二. 通过IP:PORT通信(通过RTPS在不同DDS之间相互发现)。

 一、 通过repo.ior通信

    运行程序DCPSInfoRepo,subscriber,publisher;

    先在A机器上运行DCPSInfoRepo和subscriber;然后在B机器上运行publisher。

    (1)A机器上先运行集中发现服务程序
              $DDS_ROOT/bin/DCPSInfoRepo-ORBDebugLevel 10 -ORBLogFile
 DCPSInfoRepo.log -o repo.ior

    (2)拷贝A机器上repo.ior文件到B机器上;

    (3)A机器上运行 

              ./subscriber  -ORBDebugLevel 10 -DCPSDebugLevel 10 –DCPSTransportDebugLevel 6 -ORBLogFile subscriber.log

    (4)B机器上运行 

               ./publisher  -ORBDebugLevel 10 -DCPSDebugLevel 10 –ORBLogFile publisher.log

    注意事项:

   (1)   DCPSInfoRepo生成的repo.ior文件必须存放在subscriber和publisher工程文件目录下;

   (2)   必须先运行DCPSInfoRepo,然后拷贝repo.ior文件到其他机器上;

   (3)   如果是使用Linux虚拟机切记不要使用NAT模式,使用桥接模式(本人之前就是适应NAT模式导致运行失败)。

 二、 通过IP和PORT通信

    运行程序DCPSInfoRepo,subscriber,publisher;

    先在A机器上运行DCPSInfoRepo和subscriber;然后在B机器上运行publisher。

     (1) 在A机器上运行DCPSInfoRepo程序,$DDS_ROOT/bin/DCPSInfoRepo -ORBListenEndpoints iiop://192.168.2.55:12345-ORBDebugLevel 10

         注:这个IP地址为当前DCPSInfoRepo运行的机器的IP地址,端口号可以随意配置,只要没有被占用就行。

    (2)首先修改subscriber和publisher的配置文件,比如dds_tcp_conf.ini

        原来配置文件如图 1.1所示:

                                   

图 1.1 dds_tcp_conf.ini原文件

       修改后如图 1.2所示:

      把原来“localhost:12345”修改为“192.168.2.55:12345”(注这个IP地址为DCPSInfoRepo运行的机器IP地址和端口),subscriber和publisher配置文件修改一样。

                                          

                                              图 1.2 修改后dds_tcp_conf.ini

   (3)A机器运行subscriber,./subscriber -DCPSConfigFiledds_tcp_conf.ini

   (4)B机器运行publisher,./publisher -DCPSConfigFiledds_tcp_conf.ini

      以上就是OpenDDS在两台机器通信方式,本人测试过。

------------------------------------------转载内容——结束------------------------------------------


******有对DDS技术了解、学习、开发和培训需求的,请加入QQ群:707895641(DDS专业技术辅导)******


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值