2016-10-19 1 views
1

Я следующий код в моей программе DDS для java 8 с помощью RTI DDS 5.2.0Multicast адрес в коде не получают установить в ДДС код

DomainParticipantFactory.PARTICIPANT_QOS_DEFAULT. 
    discovery.initial_peers.add("239.255.0.50"); 
DomainParticipantFactory.PARTICIPANT_QOS_DEFAULT. 
    discovery.initial_peers.add("[email protected]://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, однако, когда я использую line, чтобы установить multicast_receive_addresses, адрес никогда не будет установлен и будет неактивен по умолчанию для многоадресного адреса по умолчанию.

Почему мой многоадресный адрес не устанавливается?

ответ

2

попробуйте метод set_default_participant_qos(DomainParticipantQos qos), чтобы установить измененный qos в качестве нового значения по умолчанию qos. см RTI Connext Java API

+0

Спасибо! У меня возникли проблемы с первого использования объекта DomainParticipantQos, так как я не знал, использовать его по умолчанию и продолжал работать с ошибкой. – jgr208

+1

добро пожаловать. У меня были те же проблемы, когда я начал работать с замечательным Connext DDS от RTI :-) просто имейте в виду, что почти все настройки в Connext изменяются с помощью первого поиска, а затем изменяются и затем записываются обратно. – Pete

1

multicast_recieve_address не был установлен, потому что DomainParticipantFactory.PARTICIPANT_QOS_DEFAULT только значение сторожевого, чья единственная цель состоит в том, чтобы указать create_participant() использовать QoS по умолчанию - которые вы можете установить с set_default_participant_qos или in XML (см также this example). Не следует изменять DomainParticipantFactory.PARTICIPANT_QOS_DEFAULT.

Вы также можете создать новый объект DomainParticipantQos, настроить его, а затем передать его create_participant(). Примеры here.

Смежные вопросы