search - 二郎邻居搜索

标签 search erlang lan

我有几台互连的计算机。在每台机器上都有运行 Erlang 节点,我想通过 Erlang 术语(点对点风格)相互通信。但是,其他计算机上的节点列在 nodes() 中。只有经过我 net_adm:ping编辑它们等。有什么方法可以找出 LAN 上的所有节点(具有相同的 cookie)(并且没有在每台计算机上存储邻居列表)?

最佳答案

目前 Erlang/OTP 中没有 LAN 发现系统,但是您可以通过以下几种方法来实现:

  • 阅读 inet:getif()获取 LAN 子网列表,然后调用 (net_kernel():epmd_module()):names(IP)为每个子网中的每个 IP 地址收集正在运行的节点列表,然后 net_adm:ping() 将它们全部连接起来。我认为这假设 DNS 解析正常工作,以便您可以将 IP 转换为名称,以便 ping 工作。 (我对节点连接的确切要求有点生疏)
  • 运行类似 nodefinder 的东西在每个节点上。 Nodefinder 是一个发现库,可以使用多播 udp 来发现 LAN 上的 Erlang 节点。
  • 关于search - 二郎邻居搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2304566/

    相关文章:

    c - 从c中的文本文件中搜索整数

    Erlang/Elixir 守卫和数量

    search - sed:无法读取:没有这样的文件或目录

    Erlang:如何做一个循环?

    database - Erlang-如何在没有记录的情况下使用Mnesia

    mysql - 本地用户的托管网站

    wamp - 设置 WAMP 以在 LAN 上运行,包括移动访问、iPhone

    python - 如何在局域网中的一台计算机上运行python脚本并将输出发送到同一局域网中的其他系统?

    php - MySQL多关键字搜索算法

    mysql - PostgreSQL 和 MySQL 全文搜索