一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Erlang - Erlang分布式節點中的注冊進程使用實例

Erlang分布式節點中的注冊進程使用實例

2020-05-27 10:49腳本之家 Erlang

這篇文章主要介紹了Erlang分布式節點中的注冊進程使用實例,本文直接給出實例代碼,需要的朋友可以參考下

上一篇文章中說到, 注冊進程關聯的原子具有全局作用域, 這里的全局指的是當前 Erlang 虛擬機, 在分布式中, 便是當前分布式節點. 因此, 在一個節點中注冊進程關聯的原子, 在另一個節點中是不能直接使用, 而必須配和目標節點使用.

復制代碼 代碼如下:

{RegName, Node} ! {messages}.


例子

 

先啟動一個 Server 節點

復制代碼 代碼如下:

erl -sname server


然后在 Erlang Shell 中操作

 

先簡單介紹幾個常用函數

復制代碼 代碼如下:


% 查看當前節點
node().
% => 'server@Gentoo-PC'

 

% 查看所有已連接的節點
nodes().
% => []                                        % 此時還未連接其它節點

% 查看當前節點是否存活
is_alive().
% => true


然后進入正題

復制代碼 代碼如下:


% 啟動上一篇文章中最后的那個程序
test:start().
% Waiting for new message.
% => true

 

% 當前節點可以使用 testp 原子
testp ! message.
% New message: message
% Waiting for new message.
% => message


然后啟動另外一個 Client 節點

復制代碼 代碼如下:

erl -sname client


在新的 Erlang Shell 中

復制代碼 代碼如下:


nodes().
% => []                                         % 此時未連接節點

 

% 當前節點無法直接使用這個原子的
testp ! {}.
% ** exception error: bad argument
%      in operator  !/2
%         called as testp ! {}

% 需要配合目標節點一起使用
{testp, 'server@Gentoo-PC'} ! {}.
% => {}                                         % 語句返回值


此時, server 節點就會接收到消息, 并打印出

復制代碼 代碼如下:

% New message: {}
% Waiting for new message.


節點間首次連接后, 兩個節點將會保持連接

 

在 Client 節點中

復制代碼 代碼如下:

nodes().
% => ['server@Gentoo-PC']


在 Server 節點中

復制代碼 代碼如下:

nodes().
% => ['client@Gentoo-PC']

 

結尾

當然, 這只是個方法, 由于在模塊中定義了 call 函數包裹了起來, 所以可以使用遠程調用, 調用 Server 節點上的 test:call 方法.

可以使用 rpc 模塊中的 call/4 方法遠程調用函數

復制代碼 代碼如下:

% 在 Node 節點上執行 apply(Module, Function, Args)
% 調用成功時返回 Result, 調用失敗時返回 {badrpc, Reason}
-spec rpc:call(Node, Module, Function, Args} -> Result | {badrpc, Reason}


在 Client 節點中

復制代碼 代碼如下:

rpc:call('server@Gentoo-PC', test, call, ['message from other node']).

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 精品久久日日躁夜夜躁AV | 99re5在线精品视频热线 | 国产一卡二卡四卡免费 | 接吻吃胸摸下面啪啪教程 | 久久青青草原综合伊人 | 忘忧草在线社区WWW日本直播 | 免费一级欧美片在线观免看 | 把美女屁股眼扒开图片 | 高h射尿 | 福利一区二区在线观看 | 免费369看片入口 | m3u8久久国产精品影院 | japaneseles女同专区 | 免费午夜影院 | 欧美色阁| 四虎2023| 91视频夜色 | 暖暖在线日本 | 久久精品午夜一区二区福利 | 情欲满载2012美国dvd | 99视频免费在线 | 国产手机在线αⅴ片无码观看 | 久久99热狠狠色一区二区 | 国产无套在线播放 | 国产精品嫩草影院在线看 | 视频在线观看一区二区 | 欧美久在线观看在线观看 | 日本高清中文字幕视频在线 | 国产成人在线视频播放 | 午夜十八岁禁 | 国产chinese男男gaygay | 国产主播精品在线 | 亲爱的客栈第二季免费观看完整版 | 99热最新在线观看 | 亚洲AV国产精品无码精 | 亚洲男人天堂网站 | 久久内在线视频精品mp4 | 小伙无套内射老女人 | 亚洲精品电影天堂网 | 韩国漂亮美女三级在线观看 | 精品亚洲午夜久久久久 |