1、在两台电脑上启动两个节点,设置相同的cookie为abc
在主机名字为XHH的机器上执行以下命令 erl -sname xhh -setcookie abc ,启动节点xhh@XHH
在主机名字为XM的机器上执行以下命令 erl -sname xm -setcookie abc ,启动节点xm@XM
2、在主机XHH上的第一个节点中做如下操作
net_kernel:monitor_nodes(true),
net_kernel:connect_node('xm@XM'),
这样我们的xhh@XHH节点就可以监控到xm@XM节点的,如果xm@XM节点死掉,xhh@XHH节点会收到一个nodedown消息。
3、需要注意的是,如果出现断网情况,xhh@XHH会一直去找xm@XM节点,一直寻找大学30s的时间,仍旧找不到,则认为xm@XM
节点nodedown了,并且如果XM主机断网,我们去net_adm:ping(Node)去ping XM主机上的xm@XM节点,也是会有一个timeout
时间,该时间范围内ping不到,则返回pang,在在时间范围内ping到了,则返回pong,ping的timeout和断网收到nodedown消息的
时间感觉上非常相近。有时间可以查看一下erlang源码