婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Erlang分布式節(jié)點中的注冊進程使用實例

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

熱門標簽:地圖標注如何弄全套標 在電子版地圖標注要收費嗎 實體店地圖標注怎么標 武漢AI電銷機器人 股票配資電銷機器人 外呼系統(tǒng)會封嗎 電銷機器人 深圳 南京電銷外呼系統(tǒng)哪家好 萬利達綜合醫(yī)院地圖標注點

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

復制代碼 代碼如下:

{RegName, Node} ! {messages}.

例子

先啟動一個 Server 節(jié)點

復制代碼 代碼如下:

erl -sname server

然后在 Erlang Shell 中操作

先簡單介紹幾個常用函數

復制代碼 代碼如下:

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

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

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


然后進入正題
復制代碼 代碼如下:

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

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


然后啟動另外一個 Client 節(jié)點
復制代碼 代碼如下:

erl -sname client

在新的 Erlang Shell 中
復制代碼 代碼如下:

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

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

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


此時, server 節(jié)點就會接收到消息, 并打印出
復制代碼 代碼如下:

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

節(jié)點間首次連接后, 兩個節(jié)點將會保持連接

在 Client 節(jié)點中

復制代碼 代碼如下:

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

在 Server 節(jié)點中
復制代碼 代碼如下:

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

結尾

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

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

復制代碼 代碼如下:

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

在 Client 節(jié)點中
復制代碼 代碼如下:

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

標簽:汕頭 濟寧 廣東 臺州 濟源 安徽 武威 泰安

巨人網絡通訊聲明:本文標題《Erlang分布式節(jié)點中的注冊進程使用實例》,本文關鍵詞  Erlang,分布式,節(jié)點,中的,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Erlang分布式節(jié)點中的注冊進程使用實例》相關的同類信息!
  • 本頁收集關于Erlang分布式節(jié)點中的注冊進程使用實例的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 湟源县| 眉山市| 龙井市| 错那县| 延吉市| 环江| 宁安市| 香河县| 普定县| 南木林县| 伊金霍洛旗| 维西| 资阳市| 高平市| 江门市| 祁阳县| 肇东市| 桐柏县| 双峰县| 嘉祥县| 论坛| 当阳市| 乌什县| 吉林省| 应城市| 南郑县| 景泰县| 新源县| 南雄市| 湘潭市| 公安县| 莆田市| 东方市| 五河县| 贵港市| 柳林县| 田阳县| 合水县| 阿克苏市| 柘荣县| 肇源县|