Как соединить две машины на примере Messenger? - PullRequest
0 голосов
/ 03 ноября 2019

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

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

INI-файл:

[общий]

DCPSDebugLevel = 0

DCPSInfoRepo = corbaloc :: localhost :: 12345 / DCPSInfoRepo

DCPSGlobalTransportConfig = config1

[config / config1]

transports = udp1

[transport / udp1]

transport_type = udp

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

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

1 Ответ

0 голосов
/ 09 ноября 2019

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

[common]
DCPSDefaultDiscovery=DEFAULT_RTPS
DCPSGlobalTransportConfig=$file

[transport/the_rtps_transport]
transport_type=rtps_udp

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

...