Erlang:net_adm:names()返回{error,nxdomain}

时间:2013-07-15 12:33:20

标签: erlang

执行net_adm:names()时,出现错误{error,nxdomain}。 nxdomain意味着域名不存在,但我能够在终端中ping我的主机名,并在不同终端上启动的Erlang节点之间成功ping。因此,我不确定如何解决这个问题?

感谢。

1 个答案:

答案 0 :(得分:1)

net_adm:names()

默认为本地主机,通过

获取
net_adm:localhost()

这又使用了这两个功能:

inet:gethostname().
net_db:res_option(domain).

此信息是从系统获取的,因此请检查

返回的内容
hostname
cat /etc/resolv.conf #or something else depending on OS

您的操作系统可能会向Erlang报告错误的域名,因此您可以在手动键入域时对其进行ping操作,但在使用从net_db:res_option(域)获取的域时则无法ping通。编辑/etc/resolv.conf应该可以解决你的问题。