我正在尝试实现一个非常简单的示例来初步了解Distributed Erlang。所以,我在同一台机器上启动两个节点:
erl -sname dilbert
erl -sname dogbert
任务是使用简单的 on nodedogbert进行dilbert输出。我认为使用'shell 会很容易:Hello, World!fun () -> io:format("Hello, World!") enddilbertdogbert
(dogbert@centraldogma.fubar)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 **
在同一个 shell 中,使用nodes().输出[]。好吧,dogbert显然不知道dilbert,但为什么会这样呢?或者,我如何让分布式 erlang 中的节点相互了解?