net_adm:names() を実行すると、エラー {error, nxdomain} が発生します。nxdomain はドメイン名が存在しないことを意味しますが、ターミナルでホスト名に ping を実行し、異なるターミナルで起動された Erlang ノード間で正常に ping を実行できます。そのため、これを修正する方法がわかりませんか?
ありがとう。
net_adm:names() を実行すると、エラー {error, nxdomain} が発生します。nxdomain はドメイン名が存在しないことを意味しますが、ターミナルでホスト名に ping を実行し、異なるターミナルで起動された Erlang ノード間で正常に ping を実行できます。そのため、これを修正する方法がわかりませんか?
ありがとう。
net_adm:names()
デフォルトはローカルホストで、これは経由で取得されます
net_adm:localhost()
これは、次の 2 つの関数を使用します。
inet:gethostname().
net_db:res_option(domain).
この情報はシステムから取得されるため、返される内容を確認してください。
hostname
cat /etc/resolv.conf #or something else depending on OS
お使いのオペレーティング システムが間違ったドメインを Erlang に報告する場合があるため、ドメインを手で入力する場合は ping できますが、net_db:res_option(domain) から取得したドメインを使用する場合はできません。/etc/resolv.conf を編集すると問題が解決するはずです。