2009-09-25 1 views
5

epmdデーモンが管理するネームテーブルを照会する方法はありますか?Erlang: 'epmd'へのAPIはありますか?

ノード()の機能はあまり役に立ちません。

注:私は以外のAPI を探していますが、stdoutで生成された出力を解析しています。 EPMDのための可視ノードを照会する

答えて

6

、呼び出し:

EpmdModule = net_kernel:epmd_module(). % erl_epmd by default 
EpmdModule:names(). 

を接続されたノードとそれらのポートのリストを取得するには:

erlang:system_info(dist). 
erlang:system_info(dist_ctrl). 

最初の呼び出しはcrash dump形式であなたのテーブルを返します。実際のポートを取得する場合は、2番目のポートを使用します。

+0

これは短い名前のノードで動作するはずですか?それは主に私が使っているもので、私は期待した結果を得られません。 – jldupont

+0

ノードが接続されていることを確認してください。 net_adm:ping(mynode @ localhost)を呼び出します。私のために働く。 – Zed

+0

私はもっと明示すべきでした:ノードを明示的に "接続"する必要はありません。私はちょうど "ショートネームドメイン"の範囲内で到達可能なノードを知りたいです。 – jldupont

3

次の操作を行うことにより、ゼッドのコードと同じ答えを得る:それはそれをやってかないのより標準的な方法であれば、私は知らない

net_adm:names() 

を。

+0

@rob charlton:ありがとう! – jldupont

関連する問題