Java 未在DDS代码中设置代码中的多播地址
我的Java 未在DDS代码中设置代码中的多播地址,java,publish-subscribe,multicast,qos,data-distribution-service,Java,Publish Subscribe,Multicast,Qos,Data Distribution Service,我的DDS程序中有以下代码,用于java8使用rtidss 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"); D
DDS
程序中有以下代码,用于java8
使用rtidss 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代码来说是正确的,但是当我使用该行设置多播\u接收\u地址时
该地址从未被设置,并保持默认为默认多播地址
为什么没有设置我的多播地址?请尝试
设置默认\u参与者\u qos(DomainParticipantQos)
方法,将修改后的qos设置为新的默认qos。请参见未设置多播\u接收\u地址
,因为DomainParticipantFactory。参与者\u QOS\u DEFAULT
只是一个哨兵值,其唯一目的是指示创建\u参与者()
使用默认QOS,您可以使用或设置该值(另请参见)。您不应修改DomainParticipantFactory.PARTICIPANT\u QOS\u默认值
您还可以创建一个新的
DomainParticipantQos
对象,对其进行配置,然后将其传递给create\u participant()
。示例。谢谢!由于我不知道如何使用设置的默认值,所以在开始使用DomainParticipantQos
对象时遇到了问题,并不断遇到错误。不客气。当我开始使用RTI出色的Connext DDS时,我也遇到了同样的问题:-)请记住,几乎所有Connext中的设置都是通过先检索,然后修改,然后回写来更改的。