节点1:

F:\WorkSpace\Server\src>erl -name hw@192.168.10.142 -setcookie 4213
consulting .erlang in "F:/WorkSpace/Server/src"
Now in:"F:/WorkSpace/Server/src"
Eshell V5.9.3.1 (abort with ^G)
(hw@192.168.10.142)1> auth:get_cookie().
'4213'
(hw@192.168.10.142)2> hw:start().
true
(hw@192.168.10.142)3>

步骤
启动节点: erl -name hw@192.168.10.142 -setcookie 4213

启动进程: hw:start().

注意: 本地机器不同节点可以用都短名 -sname, 跨网络涉及到DNS要用-name

节点2:

F:\WorkSpace\Server\src>erl -name bibo@192.168.10.142 -setcookie 4213
consulting .erlang in "F:/WorkSpace/Server/src"
Now in:"F:/WorkSpace/Server/src"
Eshell V5.9.3.1 (abort with ^G)
(bibo@192.168.10.142)1>
net_adm:ping(hw@192.168.10.142).
* 2: syntax error before: 168.1
(bibo@192.168.10.142)1> net_adm:ping(hw@192.168.10.142).
* 1: syntax error before: 168.1
(bibo@192.168.10.142)1> net_adm:ping('hw@192.168.10.142').
pong
(bibo@192.168.10.142)2> node().
'bibo@192.168.10.142'
(bibo@192.168.10.142)3> auth_getcookie().
** exception error: undefined shell command auth_getcookie/0
(bibo@192.168.10.142)4> auth:get_cookie().
'4213'
(bibo@192.168.10.142)5> net_adm:ping('hw@192.168.10.142').
pong
(bibo@192.168.10.142)6> node().
'bibo@192.168.10.142'
(bibo@192.168.10.142)7> rpc:call(hw@192.168.10.142,hw,store,[weather,cold]).
* 1: syntax error before: 168.1
(bibo@192.168.10.142)7> rpc:call('hw@192.168.10.142',hw,store,[weather,cold]).
cold
(bibo@192.168.10.142)8> rpc:call('hw@192.168.10.142',hw,lookup,[weather]).
{ok,cold}
(bibo@192.168.10.142)9>

步骤

启动节点: erl -name bibo@192.168.10.142 -setcookie 4213

启动进程: rpc:call('hw@192.168.10.142',hw,store,[weather,cold]).

rpc:call('hw@192.168.10.142',hw,lookup,[weather]).

注意: 'hw@192.168.10.142'  不能少了单引号

两个节点用的代码是同样的, 如下:

%% @author Administrator
%% @doc @todo Add description to bibo. -module(bibo). %% ====================================================================
%% API functions
%% ====================================================================
-export([]). %% ====================================================================
%% Internal functions
%% ==================================================================== %% ====================================================================
%% API functions
%% ====================================================================
%%-export([start/2, stop/1]).
-compile(export_all). %% ====================================================================
%% Internal functions
%% ==================================================================== start()->
register(kvs, spawn(fun()->
loop()
end)
). loop()->
receive
{From, {store, Key, Value}}->
put(Key, {ok, Value}),
From ! {kvs, Value},
loop();
{From, {lookup, Key}} ->
From ! {kvs, get(Key)},
loop()
end. store(Key, Value)->
rpc({store, Key, Value}). lookup(Key)->
rpc({lookup, Key}). rpc(Q)->
kvs ! {self(), Q},
receive
{kvs, Reply}->
Reply
end.

erlang节点局域网通信的更多相关文章

  1. erlang节点互通查看

    在局域网内部,一般用短节点名来完成短节点的全联通.     全联通的前提之一是cookie要相同,cookie记录在一个文件中.     对于同一个物理机上的两个erlang节点,不用其他配置就可以全 ...

  2. Erlang中如何在同一台机器上运行多个erlang节点?

    首先打开shell,然后在打开cmd输入:erl -sname bilbo  这样就启动了一个gandal的erlang节点. 如图:

  3. UDP广域网,局域网通信-原理分析,穿透技术

    一.UDP局域网通信. 这个比较简单,关于局域网中的2台或者更多的计算机之间的UDP通信,网络上一大把,直接复制粘贴就可以使用,原理也非常简单.所以,本文不做详细介绍. 二.UDP广域通信(包括路由器 ...

  4. RAC 安装完成后 节点间通信不依赖于SSH

    RAC 安装完成后,想修改ssh 的端口.google了一下.原文https://community.oracle.com/thread/2444594?tstart=0 原文说的是11g,10g也好 ...

  5. socket实现局域网通信

    今天实现了一个局域网通信的小例子,上来记录一下,代码不成熟,勿拍. 这是我本机客户端: 这是我虚拟机的客户端. 我为他们分配了静态IP,这样就可以实现局域网通信了.注意代码中必须把监视线程的IsBac ...

  6. wpf C# 数据库 c/s 个人信息管理 wpf局域网通信

    系统功能基本要求 wpf局域网通信 WPF跨线程访问线程安全的数据如解决该类型的CollectionView不支持从调度程序线程以外的线程对其SourceCollection 读取信息null 读取发 ...

  7. C#UDP广域网,局域网通信-原理分析

    一.UDP局域网通信. 这个比较简单,关于局域网中的2台或者更多的计算机之间的UDP通信,网络上一大把,直接复制粘贴就可以使用,原理也非常简单.所以,本文不做详细介绍. 二.UDP广域通信(包括路由器 ...

  8. (六)ROS话题---节点之间通信的方式

    1. 理解 ROS 话题: (Ctrl+Alt+T 打开一个新终端) 运行下面的命令: $ roscore (Ctrl+Alt+T 打开一个新终端) $ rosrun turtlesim turtle ...

  9. erlang节点互相ping,一个能ping通,另外一个不行。

    今天发现一个问题,2个erlang节点,1个主动ping另外一个不通,然后等待另外一个ping过来,2个节点才连通.记录一下. 首先,erlang节点的cookie是一致的.查了文档,cookie一致 ...

随机推荐

  1. Python基础学习之标识符

    1.合法的Python标识符 Python标识符字符串规则和其他大部分用C编写的高级语言相似: 第一个字符必须是字母或下划线(_) 剩下的字符可以是字母和数字或下滑线 大小写敏感 标识符不能以数字开头 ...

  2. simotion byte/word ASCII码转换为字符、字符串

    建立string类型,和byte类型(ASCII)的数据 将byte类型(ASCII)赋值给string中的一个字符 参考程序 VAR_GLOBAL myword :WORD; mystring :S ...

  3. 使用g++ 编译C++程序

    在命令行下,编译C++程序 g++ main.cpp -o main.exe

  4. April 28 2017 Week 17 Friday

    The only thing more painful than learning from experience is not learning from experience. 比从经验中学习更为 ...

  5. 814. Binary Tree Pruning(leetcode) (tree traverse)

    https://leetcode.com/contest/weekly-contest-79/problems/binary-tree-pruning/ -- 814 from leetcode tr ...

  6. spfa判负权边

    spfa判负环 如果一个点在spfa中被入队了大于n次 那么,我们就能肯定,有负环出现. 因为一个点入队时,他肯定被更新了一次. 所以........ 如果不存在负权环.这个点最多被更新节点数次 我们 ...

  7. SpringBoot学习10:springboot整合mybatis

    需求:通过使用 SpringBoot+SpringMVC+MyBatis 整合实现一个对数据库中的 t_user 表的 CRUD 的操作 1.创建maven项目,添加项目所需依赖 <!--spr ...

  8. Core Location :⽤用于地理定位

    Core Location :⽤用于地理定位 在移动互联⽹网时代,移动app能解决⽤用户的很多⽣生活琐事,⽐比如 导航:去任意陌⽣生的地⽅方 周边:找餐馆.找酒店.找银⾏行.找电影院 在上述应⽤用中, ...

  9. jquery 操作css 尺寸

    .height() 获取元素集合中的第一个元素的当前计算高度值,或设置每一个匹配元素的高度值. .height() 获取匹配元素集合中的第一个元素的当前计算高度值. 这个方法不接受参数. $(wind ...

  10. Mysql5.7创建存储过程中调用自定义函数报错Not allowed to return a result set from a function

    因为很多存储过程都会共用一段sql语句,所以我把共用的sql封装成一个自定义函数 AddCapital(); 然后通过存储过程调用,创建存储过程会报错1415,Not allowed to retur ...