Я задал похожий вопрос вчера об использовании одного приложения внутри другого.
Допустим, я хочу использовать приложение с именем x
внутри нового модуля y
.x
уже скомпилировано, и для простоты предположим, что оно уже запущено на локальном хосте , и что цель состоит в том, чтобы запустить оба компонента на разных узлах.
Как я могу вызывать функции x
из y
?
Будет ли работать что-то вроде rpc:call(Node, x, Fun, Param)
?
Кроме того, необходимы ли какие-либо (сетевые) настройки для использования модуля rpc
?
Важно
Если вы не можете проверить соединения между двумя узлами, убедитесь, что вы используете флаг командной строки -name
и что вы включаете полное имя в свой вызов net_adm:ping/1
. например если вы назвали свой узел x@localhost
, вы должны пропинговать x
из другого модуля, выполнив net_adm('x@localhost').
. Обратите внимание на одинарные кавычки. Подробнее см. этот вопрос.