#c #erlang #interop #distributed-system #erlang-shell
#c #erlang #взаимодействие #распределенная система #erlang-shell
Вопрос:
Я пытаюсь следовать официальному руководству по Erlang C Node (http://erlang.org/doc/tutorial/cnode.html ). У меня работают сервер коротких имен и клиент, но не сервер длинных имен. С одной стороны, если я использую хост моего компьютера («stockholm») в complex4:call_cnode()/1
in complex4.erl
, я получаю следующую ошибку при вызове complex4:foo(3).
в erl
командной строке:
=ERROR REPORT==== 20-Mar-2019::12:15:21.400091 ===
** System running to use fully qualified hostnames **
** Hostname stockholm is illegal **
С другой стороны, если я использую любое количество альтернативных имен хостов вместо «stockholm» в complex4.erl
, таких как мой общедоступный IP, мой частный IP и бесплатный поддомен, который, как я утверждал в Интернете, соответствует моему общедоступному IP, когда я вызываю complex4:foo(3).
в CLI, CLI зависает, и cserver2
запущенный в фоновом режиме сервер не знает, что что-то произошло, или выдает erl_accept
ошибку.
Я перепробовал ряд взломов, включая попытку написать пользовательский, .hosts.erlang
содержащий мой поддомен, и использование -inetrc
флага для добавления ассоциации между моим общедоступным IP и моим поддоменом. Я везде использую один и тот же файл cookie.
Кто-нибудь успешно запустил сервер длинных имен в этом руководстве, и если да, то как вы настроили свою среду, чтобы избежать этих проблем?
Комментарии:
1. В именах узлов Erlang «длинное имя» — это имя хоста, содержащее хотя бы одну точку, поэтому оно отклоняется
stockholm
. Вы продвигаетесь дальше со всем, что содержит точку, поэтому я бы начал искать проблему на этом этапе.