我正在尝试实现一个非常简单的示例来初步了解Distributed Erlang。所以,我在同一台机器上启动两个节点:
erl -sname dilbert
erl -sname dogbert
任务是使用简单的 on nodedogbert
进行dilbert
输出。我认为使用'shell 会很容易:Hello, World!
fun () -> io:format("Hello, World!") end
dilbert
dogbert
(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 中的节点相互了解?