您的位置:首页 > 其它

erlang节点通信小测试

2014-10-12 18:11 344 查看
1.目标:

开启两个节点使得A节点操作B节点的进程

2.步骤与代码:

1)开启两个节点

erl -setcookie ABCEDEF -sname test1

erl -setcookie ABCEDEF -sname test2

2)使节点连通

net_adm:ping('test2@PC201406231106').

3)测试模块代码

-module(tm).
%%-type my_struct_type() :: 13.
-compile(export_all).
-spec test(ArgName1::integer()) -> any().
test(V)->
io:format("G~w",[V]) .

spfun()->
receive
{test, V}-> io:format("get testvalue ~w",[V]),
spfun();
Other -> io:format("get othervalue ~w quit!",[Other])
end.

beginsp()->
Pid = spawn(?MODULE,spfun,[]),
register(?MODULE, Pid),
put(cpid,Pid),
Pid.

getfunpid(Node)->
rpc:call(Node, erlang, get, [cpid]).


4) 编译

c(tm).

5)reload

c:l(tm).

6)启动测试进程

tm:beginsp().

7)测试发送消息

{tm,'test2@PC201406231106'} ! {test, va}.

发送


接收


3.总结:

cookie必须相同,进程注册名字
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: