We have a computationally intensive process running on a server that is publishing DDS data and I have an application running in a container on my local machine that is listening on the same domain with the NDDS_DISCOVERY_PEERS variable set to the server IP address
However, there's no communication between them.
Settings on server,
NDDS_DISCOVERY_PEERS=ServerIP,My_localmachine_IP
NDDS_DOMAIN=xx
Settings on local machine
NDDS_DISCOVERY_PEERS=ServerIP,My_localmachine_IP
NDDS_DOMAIN=xx
I tried running nddsping as well but no success. I tried even with the "-peer" option i.e. rtiddsping -peer Ser.ver.IP.xxx but nothing.
However, if I run the container on the same server machine, everything works perfectly. All I had to set was the NDDS_DISCOVERY_PEERS=ServerIP.
[NOTE: Setting the NDDS_DOMAIN]
Do I need to expose or bind any certain ports on my Docker container or local machine ?
Is there an additional setting for DDS communication between containers across machines?
Thanks,
C
Hi chennavarri,
Please see the following link to understand ports needed for DDS. I think you need to expose the ports determined by the rules described in the link for containers running DDS.
https://community.rti.com/kb/what-network-port-numbers-does-rti-connext-use
As a default, Participant ID is assigned automatically, but it can be assigned manually. If you want to use fixed port numbers, please look at the Wire Protocol QoS.
https://community.rti.com/static/documentation/connext-dds/5.2.3/doc/manuals/connext_dds/html_files/RTI_ConnextDDS_CoreLibraries_UsersManual/Content/UsersManual/WIRE_PROTOCOL_Qos.htm
Thanks,
Kyoungho