檢視原始碼 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 讀取。

類型

-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 讀取。