Help me,please,about discovery Qos

3 posts / 0 new
Last post
Offline
Last seen: 8 years 2 weeks ago
Joined: 12/20/2011
Posts: 9
Help me,please,about discovery Qos

4.5c version.

 

There are two hosts: host A,host B
hostA has only one Nic,and only one IP Address: 188.7.16.1.
hostB has only one Nic,and has two IP Address: 188.7.16.2,192.0.0.2

 

host A pub a topic,and host B sub this topic.
and at same time,host B pub a topic,and host A sub this topic.

 

why host A and host B are unable to communicate some times? 

Why host B cant discovery hostA?
I think that ,host B may be use 192.0.0.2 in DomainParticipant,And host A using 188.7.16.1,so host B cant communicate with Host A,becase there cant ping each other using this two IP.  Is Right?  Is this problem because of that?


I modify the application in Host B,using "parent.allow_interfaces_list" to specify 188.7.16.2 to communicate with host A. In this way,there is no problem,everything is OK.


But ,My problem is that:the application in Host B,may be run in any other host,such as host C,and host C has other different IP Addresses, for example ,host C may be has 188.7.16.3,192.0.0.3,.....that means I'll moidfy my application to specify 188.7.16.3 when run it is Host C??
My Purpose is that:the application can automatic to use a valid IP Address to communicate with Host A,but needn't modify the application,when I run it in other host?

 

how can i do it? help me ,please.Thank you very much.

Gerardo Pardo's picture
Offline
Last seen: 4 months 3 weeks ago
Joined: 06/02/2010
Posts: 589

 

Hi,

 

I am not sure why it is not working when you have multiple addresses on a single NIC. Normally RTI DDS will try to each a Participanr/Endpoint over all the IP addresses thet the network stack reports it has. I do not think that the addresses being in the same NIC (versus multiple NICs) would impact this, but I suppose it is possible.

 

Given that the approach ot specifying the "allow_interfaces_list" works and your concern of what will happen when you move the appliction to a different computer then would I wooult try is to use expressions in either the "allow_interface_list" or the "deny_interface_list"

 

For example try to use either:

parent.allow_interfaces_list   192.0.0.*

parent.deny_interfaces_list   188.*

 

Gerardo


Offline
Last seen: 8 years 2 weeks ago
Joined: 12/20/2011
Posts: 9

Thank you.

I have Solve My problem using your advice.

Thank you.