Erlang net_内核:connect/1是否已弃用?
我从Erlang编程(O'Reilly,2009)开始学习Erlang,示例中使用了Erlang net_内核:connect/1是否已弃用?,erlang,Erlang,我从Erlang编程(O'Reilly,2009)开始学习Erlang,示例中使用了net\u kernel:connect/1函数来演示如何连接到其他节点 我试图在中查找此函数,但没有提到net\u kernel:connect/1,大多数较新的源代码(例如,了解一些Erlang)都专门使用net\u kernel:connect\u node/1 到目前为止,我遇到了几个在文档中被显式标记为不推荐使用的命令,但总是有关于使用什么的建议。connect/1是否仅为向后兼容而保留 我还使用了这两
net\u kernel:connect/1
函数来演示如何连接到其他节点
我试图在中查找此函数,但没有提到net\u kernel:connect/1
,大多数较新的源代码(例如,了解一些Erlang)都专门使用net\u kernel:connect\u node/1
到目前为止,我遇到了几个在文档中被显式标记为不推荐使用的命令,但总是有关于使用什么的建议。connect/1
是否仅为向后兼容而保留
我还使用了这两个函数,它们都被转换为
netkernel:request({connect,normal,Node})
。netkernel:connect/1函数并没有被弃用,但对于应用程序,您应该使用netkernel:connect\u Node/1
函数。在Erlang/OTP源代码中,net_kernel:connect/1
函数仅由与分布式Erlang相关的Erlang BIFs调用。尽管正如您所观察到的,它和net\u内核:connect\u node/1
最终都会导致调用net\u内核:request/1
,net\u kernel:connect/1
函数首先执行与分布式Erlang相关的检查。我刚开始研究OTP行为,并根据我所看到的net\u kernel:connect\u node/1
只是net\u kernel:request/1
的别名,而net\u kernel:connect/1
进行额外的检查,这似乎是多余的,但实际上是多余的从更大的角度来看,这是非常有意义的。谢谢