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. js学习对象创建

    Object.extend = function(destination, source) {for (var property in source) {    destination[propert ...

  2. Windows 7下配置JDK环境变量,JAVA环境变量配置,Tomcat服务器的使用

    参考来源: http://www.cnblogs.com/pannysp/archive/2012/03/07/2383364.html 1. 常识: 1.1 War包 War包一般是在进行Web开发 ...

  3. Spring学习8-Spring事务管理

      http://blog.sina.com.cn/s/blog_7ffb8dd501014e0f.html   Spring学习8-Spring事务管理(注解式声明事务管理) 标签: spring注 ...

  4. poj 3273 Monthly Expense(贪心+二分)

    题目:http://poj.org/problem?id=3273 题意:把n个数分成m份,使每份的和尽量小,输出最大的那一个的和. 思路:二分枚举最大的和,时间复杂度为O(nlog(sum-max) ...

  5. uva12230Crossing Rivers

    数学期望. 过每条河的时间的可能在[L/v,3*L/v]间均匀分布,数学期望为2*L/v. 然后在加上在陆上走的时间. #include<cstdio> #include<algor ...

  6. MyBatis 实践 -动态SQL/关联查询

    MyBatis 实践 标签: Java与存储 动态SQL 动态SQL提供了对SQL语句的灵活操作,通过表达式进行判断,对SQL进行拼接/组装. if 对查询条件进行判断,如果输入参数不为空才进行查询条 ...

  7. Instruments-查看收集到的数据

    由于Xcode调试工具Instruments指南篇幅太长,所以本篇blog继续上篇,介绍对Instruments收集到的数据去分析. 关于数据分析 Instruments不解决你代码中的任何问题,它帮 ...

  8. vssettings 的备份和导入

    vssettings 的作用:   vssettings的导出(也就是相当于是保存):   现在我们试试导入:找一个别人导出的包,我们导入试试.

  9. [转]Jquery Validate用法简介

    原文链接:http://www.cnblogs.com/hejunrex/archive/2011/11/17/2252193.html 正文: 官网地址:http://bassistance.de/ ...

  10. codeforces 334B - Eight Point Sets

    题意难懂,其实就是x1<x2<x3与y1<y2<y3两两组合成九个点,去掉(x2,y2),剩余八个.这样的八个点才是满足要求的. 忘去重了 #include<cstdio ...