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必须相同,进程注册名字