http://blog.chinaunix.net/uid-22566367-id-382011.html

在Programming Erlang这本书中,在写到第十章中,主要实现的是不同节点之间的通信,书上列出了四步,其中的第一步很容易实现,依葫芦画瓢,很容易实现同一台机子上,不同节点之间的通信,运行结果和书上的完全一致。
当你急切地去尝试第二步(在局域网内,不同机子之间的通信)时,你可能会卡住的(本人是这样的,不知道你?),实践的结果和Joe所说的完全不一样(你如果按照书上所说,在kvs:start()的情况下,然后rpc,会得到这样的结果——{badrpc, nodedown})。
下面,就把本人的艰难四步总结一下,
1)学会使用net_adm:ping(node@Hostname)命令。
    这个结果可能是pong,也可能是pang。其中pong表示可以ping通,pang表示ping不通。
2)ping通局域网。
在linux shell下把你要通信pc机ping通。
注意有一种可能,就是ping IP地址成功了但是ping机器名称没成功,那是因为机器名和IP地址没有关联。关联的方法是编辑机内的hosts文件。windows平台这个文件在system32/drivers/etc里,而*nix在/etc里。把机子的IP和hostname关联起来,在操作系统shell去ping,成功后再到Erlang下面去ping。(网上的资料)
3)启动erlang节点。
    如果以上步骤能实现的话,就启动erlang shell吧。
例如,在一个局域内,我在不同的机子上各自启动了一个erlang shell。
gaoyi@gaoyi-laptop:~$ erl -name fang@192.168.200.53 -setcookie 123
[sunny@localhost ~]4$ erl -name sunny@192.168.200.11 -setcookie 123
注:如果在启动的时候,不用ip的话,下面是ping不通的。
4)net_adm:ping的实现。
    例如,我在gaoyi机子上,执行net_adm:ping('sunny@192.168.200.11').
得到的结果是pong,表示可以ping通了,o(∩∩)o...哈哈。
注意:net_adm:ping()内的参数必须带引号的。

至此,我们实现了局域网之间的通信,可以进一步测试程序了。

erlang局域网内节点通信——艰难四步曲 (转)的更多相关文章

  1. erlang局域网内节点通信——艰难四步曲

    http://blog.chinaunix.net/uid-22566367-id-382011.html 在Programming Erlang这本书中,在写到第十章中,主要实现的是不同节点之间的通 ...

  2. 实现upnp ssdp来查找局域网内的其他节点

    upnp协议常用于一些智能家居产品中,这些产品连上家里局域网后,用同样连入家中局域网的手机就能很快检测到此产品了.在区块链技术中,upnp也被应用于寻找同一局域网内的其他节点. 关于upnp的具体描述 ...

  3. 就该这样理解 OSI 七层参考模型、浅谈不同局域网之间的通信

    简介 说到OSI参考模型,理解网络与网络之间的关系,不说太深入难以理解的东西,只求能最大程度上理解与使用. 参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,一般称为O ...

  4. 局域网内Linux服务器时间同步

    局域网内Linux服务器时间同步   1.将一台能够上网的服务器作为时间服务器:  # /usr/bin/rdate -s time-b.timefreq.bldrdoc.gov //将时间服务器与互 ...

  5. 局域网内部署 Docker Registry

    在局域网内部署 Docker Registry 可以极大的提升平时 pull.push 镜像的速度,从而缩短自动化操作的过程.同时也可以缓解带宽不足的问题,真是一举多得.本文将从创建单机的 Docke ...

  6. 在内部局域网内搭建HTTPs

    在内部局域网内搭建HTTPs 配置环境 Windows版本:Windows Server 2008 R2 Standard Service Pack 1 系统类型:       64 位操作系统 内存 ...

  7. 局域网内python socket实现windows与linux间简单的消息传送

    有个需求,就是在windows上看见一篇介绍linux相关的文章,想在局域网内的另外一台linux电脑上尝试一下, 于是就需要把该网页链接发送给linux,不想一点一点敲链接,又苦于没有找到其它好的方 ...

  8. mDNS原理的简单理解——每个进入局域网的主机,如果开启了mDNS服务的话,都会向局域网内的所有主机组播一个消息,我是谁,和我的IP地址是多少。然后其他也有该服务的主机就会响应,也会告诉你,它是谁,它的IP地址是多少

    MDNS协议介绍 mDNS multicast DNS , 使用5353端口,组播地址 224.0.0.251.在一个没有常规DNS服务器的小型网络内,可以使用mDNS来实现类似DNS的编程接口.包格 ...

  9. CAN总线多节点通信异常分析及解决

    一.CAN物理层特征 CAN收发器的作用是负责逻辑电平和信号电平之间的转换.即从CAN控制芯片输出逻辑电平到CAN收发器,然后经过CAN收发器内部转换将逻辑电平转换为差分信号输出到CAN总线上,CAN ...

随机推荐

  1. C++:基类与派生类对象之间的赋值兼容关系

    4.5 基类与派生类对象之间的赋值兼容关系 在一定条件下,不同类型的数据之间可以进行类型转换,例如可以将整型数据赋给双精度型变量. 在赋值之前,先把整型数据转换为双精度型数据,然后再把它双精度型变量. ...

  2. 协同滤波 Collaborative filtering 《推荐系统实践》 第二章

    利用用户行为数据 简介: 用户在网站上最简单存在形式就是日志. 原始日志(raw log)------>会话日志(session log)-->展示日志或点击日志 用户行一般分为两种: 1 ...

  3. tcpdump抓SQL

    前言:假设如果有个服务器几十个链接突然达到上千个链接,show processlist,general_log,还有慢查询日志这些都不能用,你怎么把这些链接过来的SQL情况了解清楚,如果你觉得那些好用 ...

  4. WIN7建立网络映射磁盘

    建立网络映射磁盘 如果需要经常访问网络中的同一个共享文件夹,则可以将这个共享文件夹直接映射为本地计算机中的一个虚拟驱动器.其具体操作如下. (1)双击桌面上"计算机"图标,打开&q ...

  5. Difference between 2>&-, 2>/dev/null, |&, &>/dev/null and >/dev/null 2>&1

    Reference link: http://unix.stackexchange.com/questions/70963/difference-between-2-2-dev-null-dev-nu ...

  6. UVa 1401 (Tire树) Remember the Word

    d(i)表示从i开始的后缀即S[i, L-1]的分解方法数,字符串为S[0, L-1] 则有d(i) = sum{ d(i+len(x)) | 单词x是S[i, L-1]的前缀 } 递推边界为d(L) ...

  7. 极光推送使用实例(二) Android客户端

    上一篇简单介绍了极光推送在Java服务端的实现,如果感兴趣的可以看一下极光推送使用实例(一)JAVA服务端.这篇文章介绍下极光推送在Android客户端的实现. JPush Android SDK 是 ...

  8. cocos2d_x 问题汇总

    1.生成so文件时,报“No rule to make target ”错误 解决方法:将.\xxx[appname]\proj.android\obj\local\armeabi\objs中的文件全 ...

  9. 最简单的视音频播放示例8:DirectSound播放PCM

    本文记录DirectSound播放音频的技术.DirectSound是Windows下最常见的音频播放技术.目前大部分的音频播放应用都是通过DirectSound来播放的.本文记录一个使用Direct ...

  10. android下ListView的奇异异常大集合(持续更新)

    使用ListView的addFooterView或者addHeaderView报错或者不知名的异常:at android.widget.ListView.clearRecycledState(List ...