檢視原始碼 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
讀取。
類型
函數
-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().
-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)
。
為 Erlang 主機檔案 .hosts.erlang
中指定的所有主機呼叫 names(Host)
,收集回覆,然後對所有這些節點評估 ping(Node)
。傳回成功 ping 通的所有節點的列表。
如果 Arg == verbose
,則函數會將有關它正在 ping 的節點的資訊寫入 stdout
。
當節點啟動時,而其他網路節點的名稱最初未知時,此函數會很有用。
如果 host_file/0
傳回 {error, Reason}
,則傳回 {error, Reason}
。
與 world/0,1
相同,但主機是以引數指定,而不是從 .hosts.erlang
讀取。