Skip to main content
 首页 » 编程设计

elixir之如何通过本地网络连接两个 Elixir 节点

2024年05月06日9dudu

如何通过网络连接连接两台不同机器的两个 Erlang/Elixir 节点?

请您参考如下方法:

您必须命名节点并在两个节点上使用相同的 cookie。

在机器 1 中:

iex --name node1@machine1.com --cookie a_cookie_string 

在机器 2 中:

iex --name node2@machine2.com --cookie a_cookie_string 

现在两台机器可以通信了。要测试它,您可以在 machine1 上执行类似的操作:

iex(node1@machine1.com)1> Node.connect :"node2@machine2.com" 
true 
 
iex(node1@machine1.com)2> print_node_name = fn -> IO.puts Node.self end 
#Function<erl_eval.20.80484245> 
 
iex(node1@machine1.com)3> Node.spawn(:"node2@machine2.com", print_node_name) 
node2@machine2.com 
#PID<7789.49.0>  

域名machine1.commachine2.com也可以使用机器的IP地址进行更改。