Я пытаюсь реализовать очень простой пример, чтобы получить первое представление о распределенном Erlang. Итак, я запускаю две ноды на одной машине:
erl -sname dilbert
erl -sname dogbert
Задача состоит в том, что dogbert
делает dilbert
выводом Hello, World!
с помощью простого fun () -> io:format("Hello, World!") end
на узле dilbert
. Я думал, что это будет легко с оболочкой dogbert
:
([email protected])1> spawn(dilbert, fun () -> io:format("HELLO!") end).
<0.39.0>
=ERROR REPORT==== 13-Jun-2012::17:49:04 ===
** Can not start erlang:apply,[#Fun<erl_eval.20.82930912>,[]] on dilbert **
В той же оболочке при использовании nodes().
выводится []
. Ну, dogbert
, очевидно, не знает о dilbert
, но почему это так? Или как заставить узлы в распределенном erlang узнать друг друга?