[erlang-questions] Finding nodes

Dave Smith dizzyd@REDACTED
Wed Sep 9 14:47:23 CEST 2009

Assuming you are OK with the inherent security implications of
allowing ANY node to exchange messages with any other node, I'd just
use a multicast ping packet (< 20 lines of Erlang) which would then
allow me to see what hosts are running EPMD. From there, you can talk
to EPMD and find all the nodes running on a particular host.

DNS-SD would be really nice to have someday, but that's a fair bit of
code to knock together last time I looked. EPMD gets you most of the
way there, since all distributed erlang nodes start it by default --
you just need to identify those hosts.

You can talk to EPMD via erl_epmd (undoc'd, in the kernel app) or
(BLATANT PLUG) via the epmd_api library I wrote:

As noted previously however, there are SIGNIFICANT security
implications to what you want to do -- are you sure you want to do
this? :)


On Wed, Sep 9, 2009 at 6:29 AM, Robert Raschke <rtrlists@REDACTED> wrote:
> Hi,
> I am thinking about how to get Erlang Nodes within a LAN to find each other,
> without having to have a known central server.
> Has anyone already done something along the lines of service discovery in
> Erlang? Like using something like DNS-SD to find other Erlang Nodes on your
> subnet, for example? Or multicast ping on known port? Or ...?
> I'd be interested in prior art, before plunging head first into a new
> territory. Googling didn't turn up anything, but so far I've only spent
> about 30 minutes on searching; more to follow.
> Thanks for any pointers,
> Robby

More information about the erlang-questions mailing list