2010-02-21 24 views
5

Birbirine bağlı bilgisayarlarım var. Her makinede Erlang düğümü çalışıyor ve birbirleriyle Erlang terimlerini (eşler arası stili) geçerek iletişim kurmak istiyorum. Ancak diğer bilgisayarlardaki düğümler, yalnızca net_adm:ping edildikten sonra nodes()'da listelenir. Tüm düğümlerin (aynı tanımlama bilgisiyle) LAN'da (ve her bilgisayarda depolanan komşuların listesi olmadan) nasıl bulunabileceğini öğrenmenin bir yolu var mıdır?Erlang komşu araması

cevap

9

Erlang/OTP hiçbir Hizmetleri keşif sistemi şu var, ama bu konuda gidebiliriz birkaç yolu vardır:

  • LAN alt ağlar listesi için okuma inet:getif() ve ardından her IP için (net_kernel():epmd_module()):names(IP) çağrı Her bir alt ağdaki adres, çalışan düğümlerin listesini toplamak için, net_adm: ping() hepsini bağlamak için. Bu, DNS çözünürlüğünün çalıştığını varsayar, böylece IP'yi bir adaya dönüştürerek pingin çalışmasını sağlayabilirsiniz. (Düğüm bağlantıları için tam gereksinimlere biraz paslıyım)
  • Her düğümde nodefinder gibi bir şey çalıştırın. Nodefinder, bir LAN'daki Erlang düğümlerini keşfetmek için çok noktaya yayın yapan udp'yi kullanabilen bir keşif kütüphanesidir. Nodefinder tam olarak ihtiyacım olan şeydir.
+0

Teşekkürler. –