erlang节点局域网通信
节点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节点局域网通信的更多相关文章
- erlang节点互通查看
在局域网内部,一般用短节点名来完成短节点的全联通. 全联通的前提之一是cookie要相同,cookie记录在一个文件中. 对于同一个物理机上的两个erlang节点,不用其他配置就可以全 ...
- Erlang中如何在同一台机器上运行多个erlang节点?
首先打开shell,然后在打开cmd输入:erl -sname bilbo 这样就启动了一个gandal的erlang节点. 如图:
- UDP广域网,局域网通信-原理分析,穿透技术
一.UDP局域网通信. 这个比较简单,关于局域网中的2台或者更多的计算机之间的UDP通信,网络上一大把,直接复制粘贴就可以使用,原理也非常简单.所以,本文不做详细介绍. 二.UDP广域通信(包括路由器 ...
- RAC 安装完成后 节点间通信不依赖于SSH
RAC 安装完成后,想修改ssh 的端口.google了一下.原文https://community.oracle.com/thread/2444594?tstart=0 原文说的是11g,10g也好 ...
- socket实现局域网通信
今天实现了一个局域网通信的小例子,上来记录一下,代码不成熟,勿拍. 这是我本机客户端: 这是我虚拟机的客户端. 我为他们分配了静态IP,这样就可以实现局域网通信了.注意代码中必须把监视线程的IsBac ...
- wpf C# 数据库 c/s 个人信息管理 wpf局域网通信
系统功能基本要求 wpf局域网通信 WPF跨线程访问线程安全的数据如解决该类型的CollectionView不支持从调度程序线程以外的线程对其SourceCollection 读取信息null 读取发 ...
- C#UDP广域网,局域网通信-原理分析
一.UDP局域网通信. 这个比较简单,关于局域网中的2台或者更多的计算机之间的UDP通信,网络上一大把,直接复制粘贴就可以使用,原理也非常简单.所以,本文不做详细介绍. 二.UDP广域通信(包括路由器 ...
- (六)ROS话题---节点之间通信的方式
1. 理解 ROS 话题: (Ctrl+Alt+T 打开一个新终端) 运行下面的命令: $ roscore (Ctrl+Alt+T 打开一个新终端) $ rosrun turtlesim turtle ...
- erlang节点互相ping,一个能ping通,另外一个不行。
今天发现一个问题,2个erlang节点,1个主动ping另外一个不通,然后等待另外一个ping过来,2个节点才连通.记录一下. 首先,erlang节点的cookie是一致的.查了文档,cookie一致 ...
随机推荐
- vos忙时闲时费率不一样怎么设置
问题: 现有一客户要求上午闲时由原来的9:00追加到9:30 即: 9:30——12:00为忙时 14:00——18:00为忙时 其他为闲时 忙时费率为0.04元即4分 闲时费率为0.025元即2分5 ...
- reactjs--父组件调用子组件的内部方法(转载)
reactjs--父组件调用子组件的内部方法 发表于2016/10/11 9:21:37 965人阅读 1.引入相关js <script src="js/react.js" ...
- IOS 分页(pagingEnabled)
self.scrollView.pagingEnabled = YES; - (void)nextImage { // 1.增加pageControl的页码 ; ) { page = ; } else ...
- 8086汇编语言入门-HelloWorld
附件下载: http://pan.baidu.com/s/1i5R9qO9 密码:rfgk 80x86微处理器汇编语言编程.学习任何编程语言都免不了要跨越HelloWorld这道坎,面向机器的 ...
- 2018.8.19 mybatis 环境搭建---配置mysql 。(Windows环境下面)
安装mysql Install/Remove of the Service Denied!错误的解决办法 在windos 的cmd下安装mysql 在mysql的bin目录下面执行: mysqld - ...
- halcon保存带有region的图片算子
显示带区域的图片除了可以用dev_display挨个显示外再截图,还可以通过一个算子来实现这一功能 这个算子是:dump_window_image.(其实就是截图) 这个算子的意思是把WindowHa ...
- vue 中$index $key 已经移除了
https://cn.vuejs.org/v2/guide/migration.html#index-and-key-移除 之前可以这样: 1 2 3 4 5 6 <ul id="ex ...
- python的**和*
1.**两个乘号就是乘方,比如2**4,结果就是2的4次方,结果是16一个乘号*,如果操作数是两个数字,就是这两个数字相乘,如2*4,结果为8*如果是字符串.列表.元组与一个整数N相乘,返回一个其所有 ...
- iOS中 XMPP即时通讯实现的主要步骤
这里只是列出实现的只要步骤,不是全部代码. 首先导入XMPPFramework,及相关配置,完成后开始. 创建一个XMPPHelper 类来管理要进行的操作. XMPPHelper.h文件如下 ty ...
- 本地预览的vue项目,在githubpage静态展示
本地项目github静态展示 前提 在本地npm run dev后能够在本地端口正常显示 githubpage为自己的静态页面 上线 config/index.js中设置assetsPublicPat ...