查看源代码 net_adm (内核 v10.2)

各种 Erlang 网络管理例程。

此模块包含各种网络实用函数。

文件

文件 .hosts.erlang 由多个主机名组成,这些主机名以 Erlang 术语的形式编写。它按顺序在当前工作目录、用户的主目录和 $OTPROOT(Erlang/OTP 的根目录)中查找。

文件 .hosts.erlang 的格式必须是每行一个主机名。主机名必须用引号引起来。

示例

'super.eua.ericsson.se'.
'renat.eua.ericsson.se'.
'grouse.eua.ericsson.se'.
'gauffin1.eua.ericsson.se'.
^ (new line)

概要

函数

返回 Host 的官方名称,如果未找到此类名称,则返回 {error, Host}。另请参阅 inet

读取文件 .hosts.erlang,请参阅 文件 部分。将此文件中的主机作为列表返回。如果无法读取文件或无法解释文件中的 Erlang 术语,则返回 {error, Reason}

返回本地主机的名称。如果 Erlang 启动时带有命令行标志 -name,则 Name 是完全限定的名称。

返回 epmd 在指定主机上注册的 Erlang 节点的名称和关联端口号。

设置与 Node 的连接。如果成功,则返回 pong,否则返回 pang

等效于 world(silent)

为 Erlang 主机文件 .hosts.erlang 中指定的所有主机调用 names(Host),收集回复,然后在所有这些节点上评估 ping(Node)。返回成功 ping 的所有节点的列表。

world/0,1 相同,但主机作为参数指定,而不是从 .hosts.erlang 读取。

类型

链接到此类型

verbosity()

查看源代码 (未导出)
-type verbosity() :: silent | verbose.

函数

-spec dns_hostname(Host) -> {ok, Name} | {error, Host} when Host :: atom() | string(), Name :: string().

返回 Host 的官方名称,如果未找到此类名称,则返回 {error, Host}。另请参阅 inet

-spec host_file() -> Hosts | {error, Reason}
                   when
                       Hosts :: [Host :: atom()],
                       Reason ::
                           file:posix() |
                           badarg | terminated | system_limit |
                           {Line :: integer(), Mod :: module(), Term :: term()}.

读取文件 .hosts.erlang,请参阅 文件 部分。将此文件中的主机作为列表返回。如果无法读取文件或无法解释文件中的 Erlang 术语,则返回 {error, Reason}

-spec localhost() -> Name when Name :: string().

返回本地主机的名称。如果 Erlang 启动时带有命令行标志 -name,则 Name 是完全限定的名称。

-spec names() -> {ok, [{Name, Port}]} | {error, Reason}
               when Name :: string(), Port :: non_neg_integer(), Reason :: address | file:posix().

等效于 names(net_adm:localhost())

-spec names(Host) -> {ok, [{Name, Port}]} | {error, Reason}
               when
                   Host :: atom() | string() | inet:ip_address(),
                   Name :: string(),
                   Port :: non_neg_integer(),
                   Reason :: address | file:posix().

返回 epmd 在指定主机上注册的 Erlang 节点的名称和关联端口号。

类似于 epmd -names,请参阅 erts:epmd

如果 epmd 未运行,则返回 {error, address}

示例

(arne@dunn)1> net_adm:names().
{ok,[{"arne",40262}]}
-spec ping(Node) -> pong | pang when Node :: atom().

设置与 Node 的连接。如果成功,则返回 pong,否则返回 pang

-spec world() -> [node()].

等效于 world(silent)

-spec world(Arg) -> [node()] when Arg :: verbosity().

为 Erlang 主机文件 .hosts.erlang 中指定的所有主机调用 names(Host),收集回复,然后在所有这些节点上评估 ping(Node)。返回成功 ping 的所有节点的列表。

如果 Arg == verbose,则该函数将有关正在 ping 的节点的信息写入 stdout

当启动节点时,并且最初不知道其他网络节点的名称时,此函数很有用。

如果 host_file/0 返回 {error, Reason},则返回 {error, Reason}

-spec world_list(Hosts) -> [node()] when Hosts :: [atom()].

等效于 world_list(Hosts, silent)

链接到此函数

world_list(Hosts, Arg)

查看源代码
-spec world_list(Hosts, Arg) -> [node()] when Hosts :: [atom()], Arg :: verbosity().

world/0,1 相同,但主机作为参数指定,而不是从 .hosts.erlang 读取。