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

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

在Programming Erlang这本书中,在写到第十章中,主要实现的是不同节点之间的通信,书上列出了四步,其中的第一步很容易实现,依葫芦画瓢,很容易实现同一台机子上,不同节点之间的通信,运行结果和书上的完全一致。
当你急切地去尝试第二步(在局域网内,不同机子之间的通信)时,你可能会卡住的(本人是这样的,不知道你?),实践的结果和Joe所说的完全不一样(你如果按照书上所说,在kvs:start()的情况下,然后rpc,会得到这样的结果——{badrpc, nodedown})。
下面,就把本人的艰难四步总结一下,
1)学会使用net_adm:ping([email protected])命令。
    这个结果可能是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。
[email protected]:~$ erl -name [email protected] -setcookie 123
[[email protected] ~]4$ erl -name [email protected] -setcookie 123
注:如果在启动的时候,不用ip的话,下面是ping不通的。
4)net_adm:ping的实现。
    例如,我在gaoyi机子上,执行net_adm:ping(‘[email protected]‘).
得到的结果是pong,表示可以ping通了,o(∩∩)o...哈哈。
注意:net_adm:ping()内的参数必须带引号的。

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

时间: 2024-10-09 21:26:25

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

ESP8266学习笔记2:实现ESP8266的局域网内通信

上一篇熟悉了编译下载操作.如今就以实例入手. project使用的是IOT_DEMO,据DEMO文档能够知道ESP8266初始工作模式为softAP+station共存的模式.于是这边我们就先以softAP入手.研究下局域网内的通信. 转载请注明:http://blog.csdn.net/sadshen/article/details/46810755 一.DEMO原理介绍 画了DEMO的框图来帮助理解. 调试PC接入ESP的softAP中,PC端使用curl工具与ESP的webserver进行

erlang在windows下和虚拟机节点通信

在Linux下部署erlang项目,开发过程很多都是在Windows完成的,然后再发布到Linux,所以测试过程要在虚拟机下完成.有一天因为想要在虚拟机中使用到erlang图形化工具,比如appmon.tv.observer等等,便突发奇想得利用Windows的erlang连接到虚拟机中使用这些工具,来查看虚拟机的运行状态. 需要准备哪些东西? 我是在VmWare10虚拟Centos6.5系统,所以这里以VmWare10和Centos6.5为例,其他Linux系统及工具只做参考. 注意了,Lin

局域网内和局域网间的通信

1.交换机和路由器区别交换机主要是用于组建局域网,而路由器则是负责让主机连接外网. 2.局域网间通信例子1: 1. PC1与PC2通信时,在PC1电脑中,应用层产生数据交给传输层:传输层进行数据的分段,使数据的大小适合在网络上传递,根据应用层不同软件产生的数据,选择不同协议栈进行封装TCP或UDP,再进行不同服务端口号的封装(例:WWW 80 ,FTP 21),再传递给网络层:网络层在数据包头部进行封装源IP.目的IP,根据上层协议栈标识不同协议号,当IP包头封装TCP时协议号为6.UDP协议号

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

局域网内Linux服务器时间同步 1.将一台能够上网的服务器作为时间服务器: # /usr/bin/rdate -s time-b.timefreq.bldrdoc.gov //将时间服务器与互联网时间服务器同步 # /etc/init.d/ntpd start //启动时间服务器 # vi /etc/cron.weekly/rdateweekly.sh //设置计划任务,每周同步一次时间 ---------------------------------------- #!/bin/sh  

c# asp.net 鼠标改变控件坐标位置,更改控件坐标,注册表保存读取,打印,查找局域网内打印机等等收集

界面虽然被我弄的很难看,但功能还可以 里边注册表的路径自己设置一下,或者加一个创建注册表的语句,不然会报错 前台: Html代码   <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="FPSZ.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML

局域网内基于UDP的文件传输小工具

一.目标 基于UDP来设计一个文件传输的小工具,以此来了解UDP协议的特点. 内容: 基本要求: 输入对方IP地址,对方如果存在,可以给对方发送文件. 扩展要求: (1)工具具有友好的用户界面: (2)局域网内使用该工具的两台主机可以互相进行文字通信: (3)自动按照一定频率扫描局域网内其他开启了该工具的主机,并在界面上用列表显示出来: (4)传输文件和文字内容时,直接选择界面上已经显示出来的存活主机,不需要手动输入IP地址. 二.设计实现 环境: Ubuntu14.04+Gcc4.8+Ecli

VM搭建LAMP和局域网内访问之 转

(2012-11-06 14:29:17) 转载▼ 标签: it 分类: WEB 1.apache:[[email protected] liuhan]# yum install httpd... 启动[[email protected] liuhan]# /etc/init.d/httpd startStarting httpd: 查看运行状态[[email protected] liuhan]# /etc/init.d/httpd statushttpd (pid  2633) is run

Socket Android手机客户端与PC服务端局域网内联测试

Socket Android手机客户端与PC服务端局域网内联测试,笔者采用的是 PC服务器,Android平板客户端 ,PC模拟器客户端, 前段时间为了加深对Socket通信的印象和知识的深度掌握,我模仿了QQ的一些元素,也借鉴了其他牛人的一些源码思想,写了 一个 叫 IQ 的 Android 聊天软件,该软件大致由 Android客户端.JAVA pc服务端.mysql数据库组成,客户端和服务端都 比较多的用到了读写的IO流,SCOKET,线程等,这篇博客主要给大家介绍测试环境,不讲源码实现方

局域网内任何一台pc上windows下eclipse远程连接hbase数据库

通过很长一段时间的反复失败,终于在windows下实现远程连接hbase数据库,在不断的尝试过程中深感一个详细的文档的重要性,于是就把我配置的详细过程记录下来.文中如果有些地方用词不当,或者理解错误,欢迎您们评论. 一.运行平台 hbase服务器端:Ubuntu 14.04 64位:HBASE1.1.3:JAVA 1.8: hbase客服端:windows32/64位:JAVA1.8:eclipse 4.5: 二.linux服务器端环境配置 1.  安装java 1.8软件 1)下载java软件