问题
我有两个 Erlang 节点,两台计算机各一个。我使用唯一的 sname 和相同的 cookie 启动每个节点。当我尝试从客户端到服务器的 net_adm:ping/1 时,它总是超时,除非我首先从服务器 ping 到客户端。
例如,在客户端:
(client@client_machine)1> net_adm:ping(server@server_machine).
pang
然后在服务器上:
(server@server_machine)1> net_adm:ping(client@client_machine).
pong
然后再次从客户端:
(client@client_machine)2> net_adm:ping(server@server_machine).
pong
我已经允许 erl.exe 和 werl.exe 通过防火墙,用于两台机器上的所有入站和出站连接。我无法使用 -name ping 任一方向;我必须使用-sname。
问题
这仍然是防火墙问题还是已知行为?如果是已知问题,解决方法是什么?服务器是否定期尝试 ping 任何可能的客户端?