2016-08-02 61 views
0

如何在同一臺機器上連接windows 10上的Erlang節點和freeBSD 10.3 vm上的Erlang節點使用erl -name anynode @ hostname?如何在不同平臺上連接erlang節點

+1

AFAIK主機和來賓之間有兩種聯網情況。一個是客人從常規的DHCP服務器(與主機相同)獲取他的IP。另一種方法是在來賓和主機之間創建一個虛擬網絡。無論哪種方式,你應該可以使用'ipconfig'(windows)和'ifconfig'(FreeBSD)命令來查看。檢查ips是什麼,並檢查它們之間的「ping」(從主機到客戶機以及客戶機到主機),如果它工作正常,那麼這可能是用作主機名的正確ips。 –

回答

0
  1. 運行erlang節點的主機(windows和BSD VM)之間必須有IP連接,您可以使用ping驗證。
  2. Erlang節點必須以相同的魔法cookie啓動,在啓動erlang節點時使用-setcookie「cookie」。
  3. 查看erlang節點是否可以通過在shell中運行nodes()來看到對方。
0

正如我在評論中寫的,你首先需要確定主機(Windows)和你的guest(FreeBSD VM)之間的內部網絡(子網)。在windows和ifconfig命令上使用ipconfig來獲取信息。
您可能會注意到,主機中的一個IP與來賓中的一個IP具有相同的前綴,因此這是子網。例如,如果主機有IP 192.168.2.10,而來賓有IP 192.168.2.11這意味着192.168.2.x是它們之間的網絡。現在我們可以繼續連接這些節點。

有幾個簡單的步驟:

  1. 輸入與正確的IP和共同的餅乾殼。
    在Windows上 - werl -name [email protected] -setcookie 'mycookie'
    在FreeBSD上 - erl -name [email protected] -setcookie 'mycookie'
    你可以在這裏和這裏閱讀更多關於cookie的信息。
  2. 連接節點。這可以通過net_adm:ping/1net_kernel:connect_node/1完成。你只需要從其中一個炮彈中完成。例子:
    從Windows外殼程序 - net_adm:ping('[email protected]')
    從Linux命令 - net_kernel:connect_node('[email protected]')
  3. 你的節點現在連接。您可以通過從其中一個shell中調用nodes()來檢查。