当我运行
然后我执行
但如果我使用
如何连接到同一台计算机上使用短名称的Erlang节点?或者说,如何推导出目标节点名称中的"@roger-pc"部分?或者应该只使用
背景:我正在编写一个escript,它生成一个
erl -sname foo
时,创建的节点名称使用主机名而不是"localhost",因此生成的节点名称为例如:foo@roger-pc
。然后我执行
register(shell, self())
,并且可以从另一个节点(erl -sname bar
)发送消息给它,方法如下:{shell, 'foo@roger-pc'} ! {hello, world}.
但如果我使用
{shell, foo} ! {knock, knock}
就无法正常工作。消息从未被接收到。如何连接到同一台计算机上使用短名称的Erlang节点?或者说,如何推导出目标节点名称中的"@roger-pc"部分?或者应该只使用
erl -name foo@localhost
注册一个长名称?背景:我正在编写一个escript,它生成一个
erl
进程,并且我希望能够从该OS进程向原始脚本发送消息。