上一篇文章中說到, 注冊(cè)進(jìn)程關(guān)聯(lián)的原子具有全局作用域, 這里的全局指的是當(dāng)前 Erlang 虛擬機(jī), 在分布式中, 便是當(dāng)前分布式節(jié)點(diǎn). 因此, 在一個(gè)節(jié)點(diǎn)中注冊(cè)進(jìn)程關(guān)聯(lián)的原子, 在另一個(gè)節(jié)點(diǎn)中是不能直接使用, 而必須配和目標(biāo)節(jié)點(diǎn)使用.
先啟動(dòng)一個(gè) Server 節(jié)點(diǎn)
先簡(jiǎn)單介紹幾個(gè)常用函數(shù)
% 查看所有已連接的節(jié)點(diǎn)
nodes().
% => [] % 此時(shí)還未連接其它節(jié)點(diǎn)
% 查看當(dāng)前節(jié)點(diǎn)是否存活
is_alive().
% => true
% 當(dāng)前節(jié)點(diǎn)可以使用 testp 原子
testp ! message.
% New message: message
% Waiting for new message.
% => message
% 當(dāng)前節(jié)點(diǎn)無法直接使用這個(gè)原子的
testp ! {}.
% ** exception error: bad argument
% in operator !/2
% called as testp ! {}
% 需要配合目標(biāo)節(jié)點(diǎn)一起使用
{testp, 'server@Gentoo-PC'} ! {}.
% => {} % 語句返回值
在 Client 節(jié)點(diǎn)中
結(jié)尾
當(dāng)然, 這只是個(gè)方法, 由于在模塊中定義了 call 函數(shù)包裹了起來, 所以可以使用遠(yuǎn)程調(diào)用, 調(diào)用 Server 節(jié)點(diǎn)上的 test:call 方法.
可以使用 rpc 模塊中的 call/4 方法遠(yuǎn)程調(diào)用函數(shù)
標(biāo)簽:汕頭 濟(jì)寧 廣東 臺(tái)州 濟(jì)源 安徽 武威 泰安
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Erlang分布式節(jié)點(diǎn)中的注冊(cè)進(jìn)程使用實(shí)例》,本文關(guān)鍵詞 Erlang,分布式,節(jié)點(diǎn),中的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。