He resuelto este problema iniciando un proceso en el nodo y haciendo que el proceso envíe un mensaje que contenga sus direcciones IP. Si alguien sabe de una solución más elegante, me gustaría escucharla.
El comando que utilicé para obtener la dirección una vez que se inició el proceso en el nodo fue: inet:getif()
. Tenga en cuenta que el resultado de ese comando incluye la dirección de bucle invertido.
Algo a considerar es que cada nodo puede tener múltiples direcciones IP y el servidor SCTP puede no estar escuchando en todos ellos.
La otra idea que pensé sobre intentar fue convertir el átomo devuelto de node() en una cadena, analizar la cadena para obtener el nombre de host y realizar una búsqueda de DNS. Podría funcionar, pero nunca lo intenté. El resultado de la búsqueda de DNS debe almacenarse en caché, por lo que es posible que no haya una redirección de ida y vuelta. Además, realmente odio asumir cualquier cosa sobre el retorno del átomo desde el nodo().
Sí, pensé en hacer eso, pero quería minimizar el tiempo entre saber que necesito enviar datos, y el envío real de datos, por lo que un ciclo adicional de ida y vuelta sería el último recurso. – matehat