Macos Erlang节点仅在Ping之后才能看到彼此

Macos Erlang节点仅在Ping之后才能看到彼此,macos,erlang,otp,erlang-shell,Macos,Erlang,Otp,Erlang Shell,我在MacOSX上运行一些erlang代码,我有一个奇怪的问题。我的应用程序是一个多节点应用程序,其中我有一个在节点之间共享的服务器实例(全局) 代码工作得很好,除了一件恼人的事情:不同的erlang节点(我在不同的终端窗口上运行每个节点)只能在ping之后相互通信 因此,如果在terminalA上启动服务器,在terminalB上运行 erl>global:registered_names(). terminalB将返回一个空列表,除非在terminalA上启动服务器之前,我(从任一

我在MacOSX上运行一些erlang代码,我有一个奇怪的问题。我的应用程序是一个多节点应用程序,其中我有一个在节点之间共享的服务器实例(全局)

代码工作得很好,除了一件恼人的事情:不同的erlang节点(我在不同的终端窗口上运行每个节点)只能在ping之后相互通信

因此,如果在terminalA上启动服务器,在terminalB上运行

erl>global:registered_names(). 
terminalB将返回一个空列表,除非在terminalA上启动服务器之前,我(从任一终端)运行了ping

例如,如果在启动服务器之前在任一终端上执行此操作:

erl>net_adm:ping("terminalB"). 
然后启动服务器,从第二个终端列出进程:

erl>global:registered_names(). 
这次我将从第二个终端看到注册的进程

有没有可能仅仅是net_adm:ping调用就可以执行某种允许通信的工作(比如DNS解析或类似的工作)

分布式Erlang系统中的节点是松散连接的。这个 首次使用另一个节点的名称时,例如,如果 spawn(Node,M,F,A)或net_adm:ping(Node)被称为连接 将尝试访问该节点

我在这个链接中发现:

我想你应该读这篇文章

分布式Erlang系统中的节点是松散连接的。这个 首次使用另一个节点的名称时,例如,如果 spawn(Node,M,F,A)或net_adm:ping(Node)被称为连接 将尝试访问该节点

我在这个链接中发现:

我想你应该读这篇文章

分布式Erlang系统中的节点是松散连接的。这个 首次使用另一个节点的名称时,例如,如果 spawn(Node,M,F,A)或net_adm:ping(Node)被称为连接 将尝试访问该节点

我在这个链接中发现:

我想你应该读这篇文章

分布式Erlang系统中的节点是松散连接的。这个 首次使用另一个节点的名称时,例如,如果 spawn(Node,M,F,A)或net_adm:ping(Node)被称为连接 将尝试访问该节点

我在这个链接中发现:

我想你应该读这篇文章