Thursday, November 26, 2020

OpenDDS Communication Local host / LAN/ WAN/ VPN windows PCs

 

Communication and running DDS application

Ini file explanation

Open DDS uses a .ini configuration file where define networked communication types and configurations
Refer chapter 7 of the developer guide for further information

Using DSCPInfoRep

This is can be done using one of the following methods

test_run.pl Perl script

This will create a process for publisher and subscriber executables and direct DSCPInfoRepo directory so that publisher and subscriber can fin each other in a local environment.

repo.ior

repo.ior is used in the above Perl script as well

running with DCPSInfoRepo.ior


Dev Command prompt 1
  • Command setenv in DDS directory
  • navigate bin folder use below Command to create DCPSInfoRepo.ior file
  • DCPSInfoRepo -o DCPSInfoRepo.ior
  • Copy this DCPSInfoRepo.ior into the project folder in order to subscriber and publisher can locate the dds directory
Dev Command prompt 2
  • Command setenv in DDS directory
  • Navigate to the project folder and use the following command
  • subscriber -DCPSConfigFile DCPSInfoRepo.ior
Dev Command prompt 3
  • Command setenv in DDS directory
  • Navigate to the project folder and use the following command
  • publisher -DCPSConfigFile DCPSInfoRepo.ior

dds_tcp_conf.ini running with tcp localhost

Dev Command prompt 1
  • Command setenv in DDS directory
  • navigate bin folder use below Command to run localhost
  • DCPSInfoRepo -ORBEndpoint iiop://localhost:12345 -d domain_ids
Dev Command prompt 2
  • Command setenv in DDS directory
  • Navigate to the project folder and use the following command
  • subscriber -DCPSConfigFile dds_tcp_conf.ini
Dev Command prompt 3
  • Command setenv in DDS repo
  • Navigate to the project folder and use the following command
  • publisher -DCPSConfigFile dds_tcp_conf.ini 

LAN/WAN

  • VPN also works tcp/ip and udp/ip
  • Multicasting will not support in VPNs
  • Replace ip address to localhost in .ini file
    • DCPSInfoRepo -ORBEndpoint iiop://192.168.89.3:12345 -d domain_ids 
  • The above line should be the same for both PCs in the .ini configure file
  • Run the DCPSInfoRepo program on the A machine, 
    • $ DDS_ROOT / bin / DCPSInfoRepo -ORBListenEndpoints iiop: //192.168.89.3:: 12345-ORBDebugLevel 10
    • This IP address is the IP address of the machine currently running on DCPSInfoRepo. The port number can be arbitrarily configured as long as it is not occupied.
  • A machine runs subscriber, ./subscriber -DCPSConfigFiledds_tcp_conf.ini
  • B machine runs publisher,. / Publisher -DCPSConfigFiledds_tcp_conf.ini

Firewall Exceptions for TCP

The following should be set in order to the firewall won't take down DDS data packets. allow following according to in control panel firewall exception so that OpenDDS will transfer file without any issue

Domain (VPN)
Public network
Private network
If none of the above works and if you don't receive the data packet you can try disabling firewalls
Network address translator should be disabled as well (NAT)

No comments:

Post a Comment

LeetCode C++ Cheat Sheet June

🎯 Core Patterns & Representative Questions 1. Arrays & Hashing Two Sum – hash map → O(n) Contains Duplicate , Product of A...