Erlang的RPC入门

1.Erlang很容易实现RPC调用,让我们来一起看一看,话不多说,先上代码:

start() ->
    spawn(rpc03,loop,[]).

这里调用start方法创建了一个进程,解释一下这三个参数的意思:
rpc03:一个模块,类似Golang的import导入;这里表示给哪一个模块创建进程

loop:表示创建进程后运行的进程函数,类似C++11的std::thread方法调用的线程函数

[ ] :表示不给loop函数传参数

2.OK,我们来实现loop方法,上代码:

loop() ->
    receive
    {Client,{hello}} ->
        Client ! {self(),{ok,hearing}},
        loop();
    {Client,_} ->
        Client ! {self(),{no,error}},
        loop()
    end.

3.接下来实现RPC调用模块

rpc(Pid,Request) ->
    Pid ! {self(),Request},
    receive
        {Pid,Response} ->
            Response
    end.

4.开始测试

erlc .\rpc03.erl 
erl
Eshell V11.0  (abort with ^G)
1> Pid = rpc03:start().
<0.80.0>
2> rpc03:rpc(Pid,{hello}).
{ok,hearing}
3> rpc03:rpc(Pid,{helloworld}). 
{no,error}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值