节点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. MySQL入门很简单: 1 数据库概述

    1. 数据库概述 1.1 数据存储方式: 1)人工管理阶段 2)文件系统阶段: 文件系统通过文件的存储路径和文件名称访问文件中的数据 3)数据库系统阶段:Oracle, SQL Server, MyS ...

  2. IOS tableView的基本使用

    tableView  Style:Plain(头部标题 向上移 不会消失) tableView  Style:Grouped(头部标题 向上移 会 消失) #import "ViewCont ...

  3. 表面积最小(POJ3536)

    题目链接:http://poj.org/problem?id=3536 在体积固定的情况下,表面积最小时的长,宽,高. 这里枚举长,宽,根据体积计算高. #include <iostream&g ...

  4. 定位webpack文件大小

    之前发现一个神器,记录一下,可以可视化webpack打包的每个js文件大小,这样对我们优化代码是有帮助的,有目标的 https://www.npmjs.com/package/webpack-bund ...

  5. 2.NBU管理NetBackup

    2管理NetBackup2.1NetBackup作业任务监视 NetBackup任务监视器可以监视备份.恢复和归档任务的状态,也可以监视NetBackup本身数据库的备份. 2.1.1Activity ...

  6. Oracle 启动 停止JOB

    转自:https://www.cnblogs.com/qianbing/p/6971633.html --查看job下次执行时间以及间隔时间 '; --启动job ); --停用job EXEC DB ...

  7. Windows Server 2012 搭建DHCP及远程路由访问

    1.1    基础环境信息 1.2    DHCP与远程访问服务器角色安装 1.服务器管理器—>仪表板—>添加角色和功能,出现添加角色和功能向导,点击下一步 2.选择安装类型为基于角色或基 ...

  8. linux C 数组与指针

    linux C 数组与指针 一.数组 数组是同一数据类型的一组值:属于引用类型,因此数组存放在堆内存中:数组元素初始化或给数组元素赋值都可以在声明数组时或在程序的后面阶段进行. 定义一维数组的一般格式 ...

  9. kickstart+pxe+tftp+ntp(http)自动化安装平台的搭建

    听说过"克隆"吗,对于这个科技术语20年前可能还很陌生,羊可以克隆,通过基因dna序列:机器同样可以克隆通过网络IP! 如下为自动化安装平台: PXE(preboot execut ...

  10. js如何获得系统时间年月日时分秒

    javascript 自带有个对象(构造函数),Date().下面是代码: 回答一: var now = new Date();  var nowTime = now.toLocaleString() ...