我从Erlang Programming(O' Reilly,2009)开始学习Erlang,并在示例中使用net_kernel:connect/1
函数来展示如何连接到其他节点。
我试图在the official documentation中查找此功能,但net_kernel:connect/1
甚至没有提及,大多数较新的来源(例如,了解你一些Erlang)只使用net_kernel:connect_node/1
。
到目前为止,我已经发现了几个在文档中被明确标记为已弃用的命令,但始终有关于使用什么的建议。 connect/1
仅保留向后兼容性吗?
我还traced back这两个函数,它们都被转换为net_kernel:request({connect, normal, Node})
。
答案 0 :(得分:3)
不推荐使用net_kernel:connect/1
函数,但对于应用程序,您应该使用net_kernel:connect_node/1
函数。在Erlang / OTP源代码中,net_kernel:connect/1
函数仅由与分布式Erlang相关的Erlang BIF调用。虽然你已经观察到它和net_kernel:connect_node/1
最终导致对net_kernel:request/1
的调用,但net_kernel:connect/1
函数首先执行与分布式Erlang相关的检查。