¿Hay alguna forma de consultar la tabla de nombres que gestiona epmd daemon?Erlang: ¿hay una API para 'epmd'?
Los nodos () función no es muy útil en ese frente.
NOTA: Estoy buscando una API aparte de analizar la salida generada a través de stdout.
¿Hay alguna forma de consultar la tabla de nombres que gestiona epmd daemon?Erlang: ¿hay una API para 'epmd'?
Los nodos () función no es muy útil en ese frente.
NOTA: Estoy buscando una API aparte de analizar la salida generada a través de stdout.
Para consultar los nodos visibles para epmd, llame a:
EpmdModule = net_kernel:epmd_module(). % erl_epmd by default
EpmdModule:names().
Para obtener una lista de nodos conectados y sus puertos:
erlang:system_info(dist).
erlang:system_info(dist_ctrl).
la primera llamada le devuelve la tabla en un formato crash dump. Si está interesado en adquirir los puertos reales, use el segundo.
se obtiene la misma respuesta como código de Zed haciendo:
net_adm:names()
No sé si eso es una forma más estándar de hacer o no.
@rob charlton: ¡Gracias! – jldupont
¿Se supone que esto funciona con nodos con nombres cortos? Eso es principalmente lo que uso y no obtengo los resultados esperados. – jldupont
Asegúrate de que los nodos estén conectados, p. llame a net_adm: ping (mynode @ localhost). Funciona para mi. – Zed
Debería haber sido más explícito: no quiero tener que "conectar" explícitamente los nodos. Solo quiero saber qué nodos son accesibles dentro de los límites de un "dominio de nombre corto". – jldupont