我的DDS
计划java 8
使用RTI DDS 5.2.0
DomainParticipantFactory.PARTICIPANT_QOS_DEFAULT.
discovery.initial_peers.add("239.255.0.50");
DomainParticipantFactory.PARTICIPANT_QOS_DEFAULT.
discovery.initial_peers.add("4@builtin.udpv4://127.0.0.1");
DomainParticipantFactory.PARTICIPANT_QOS_DEFAULT.
discovery.initial_peers.add("builtin.shmem://");
DomainParticipantFactory.PARTICIPANT_QOS_DEFAULT.
discovery.multicast_receive_addresses.clear();
DomainParticipantFactory.PARTICIPANT_QOS_DEFAULT.
discovery.multicast_receive_addresses.add("239.255.0.50");
初始对等设置适用于DDS代码,但是当我使用该行设置multicast_receive_addresses
时,地址永远不会被设置并保持默认为默认多播地址。
为什么我的多播地址没有设置?
答案 0 :(得分:2)
尝试set_default_participant_qos(DomainParticipantQos qos)
方法将修改后的qos设置为新的默认qos。见RTI Connext Java API
答案 1 :(得分:1)
multicast_recieve_address
未设置,因为DomainParticipantFactory.PARTICIPANT_QOS_DEFAULT
只是一个标记值,其唯一目的是指示create_participant()
使用默认QoS - 您可以使用{{3}设置}或set_default_participant_qos(另见in XML)。您不应修改DomainParticipantFactory.PARTICIPANT_QOS_DEFAULT
。
您还可以创建新的DomainParticipantQos
对象,对其进行配置,然后将其传递给create_participant()
。示例this example。