Как соединить две машины на примере Messenger?

Я пытался подключить две машины: обе виртуальные машины, одна Xubuntu, а другая Ubuntu. Я также новичок в OpenDDS, но лучший способ — или так кажется — использовать файлы .ini. Однако, когда я пытаюсь подключиться, мне кажется, что мне не удается изменить сервер обнаружения, поскольку по умолчанию используется localhost:12345. Может ли кто-нибудь помочь мне с этим, чтобы я мог правильно настроить файл?

Я пробовал использовать dds_udp_conf.ini и tcp, но, похоже, это не работает. Кроме того, я пытался использовать одноадресную рассылку, но потерпел неудачу.

ини-файл:

[общий]

DCPSDebugLevel=0

DCPSInfoRepo=corbaloc::localhost::12345/DCPSInfoRepo

DCPSGlobalTransportConfig=config1

[конфиг/конфиг1]

транспорты=udp1

[транспорт/udp1]

transport_type=udp

И я использую синтаксис: ./publisher -DCPSConfigFile conf.ini

Итак, издатель и подписчик должны подключиться, но издатель отправляет какие-то сообщения об ошибках, а в другой ВМ ничего не происходит. Кажется, я терплю неудачу, потому что не могу изменить конфигурацию на локальном хосте для обнаружения. Когда я пытаюсь запустить сервер с параметром, отличным от localhost:12345, он также всегда отправляет сообщения об ошибках.


person Gabrielle Pereira    schedule 03.11.2019    source источник


Ответы (1)


Мне непонятно, где вы запускаете InfoRepo, если и издателю, и подписчику сообщают, что InfoRepo работает на локальном хосте. Несмотря на это, я бы рекомендовал вместо этого использовать обнаружение и транспорт RTPS. Это легко настроить, потому что участники могут найти друг друга через мультикаст сети без InfoRepo. Эта конфигурация является самым простым способом использования RTPS с OpenDDS:

[common]
DCPSDefaultDiscovery=DEFAULT_RTPS
DCPSGlobalTransportConfig=$file

[transport/the_rtps_transport]
transport_type=rtps_udp

Просто дайте это обеим программам, и они должны найти друг друга. Если нет, это будет означать, что, вероятно, что-то не так с настройкой сети на ваших виртуальных машинах.

person Fred Hornsey    schedule 09.11.2019
comment
Привет! Как вы сказали, использование InfoRepo было довольно неясным, поэтому я попробовал использовать RTPS Discovery, и это сработало! Спасибо за помощь! - person Gabrielle Pereira; 10.11.2019