OpenDDS在Linux与Windows上互通

前言

之前在自己的电脑上安装了OpenDDS,在一个机子上用三个终端,分别运行信息仓库、发布端、订阅端,能够正常通信。于是利用实验室的Linux的机子,实现Win和Linux互通。

步骤

1 保证win和linux在同一个局域网里,相互ping通。ping不通可能是防火墙的原因,关掉。

2 Linux与Windows里ACE+TAO、OpenDDS的版本保持一致。最先尝试互通的时候由于版本不一致,win上运行信息仓库和发布端,Linux上运行订阅端,信息仓库能收到订阅端的信息,但是订阅端会报程序出错,这个问题纠结了很久,但是后面将版本换成一致就可以了。版本是ACE+TAO-6.4.1、OpenDDS-3.13.2。

3 测试用例是OpenDDS-3.13.2\DevGuideExamples\DCPS\Messenger,win上开两个终端运行信息仓库、发布端,linux上运行订阅端:

信息仓库:%DDS_ROOT%/bin/DCPSInfoRepo -ORBListenEndpoints iiop://192.168.0.3:12345 -ORBDebugLevel 10,ip改为运行信息仓库主机的局域网地址。

运行信息仓库之后,win中Messenger目录生成repo.ior文件,发布端、订阅端需要利用这个文件解析信息仓库的地址。将repo.ior文件复制到linux中Messenger目录。

发布端:subscriber

订阅端:publisher

此时实现互通。

你可能感兴趣的:(OpenDDS在Linux与Windows上互通)