RPC和Socket的区别

原文地址连接:http://luluq1987.blog.163.com/blog/static/4079068120101048494705/

学习linux网络编程,有一章降到RPC远过程调用,简单的将就是在本机调用其他远程机器上的过程(可理解为函数或者功能模块)。一个问题就冒了出来,就是为什么不用socket的通信呢?

看过文章后明白,RPC建立在socket的基础上,是的C/S开发变得简单可靠。

为什么变得简单了呢?

你可以像写本地过程调用一样写才C/S程序。通过RPC规格说明文本,调用rpcgent可以自动给你生成client stub和server stub,只需简修改添加就可以了。你所需要确定的是哪些需要在服务器过程就可以了。但要注意的是,一般I/O操作和文件描述符不用来当做远过程调用参数,指针只有在本地进程内才有意义(内存空间不同,指针失去了意义)。

什么时候采用RPC呢?


暂时没有找到经典的应用,不过我在做嵌入式开放式,通过NFS方式将启动文件系统时,是要建立RPC的。只是不知道具体的实现,是不是依靠rpcgetn实现的。



小弟这里有一份关于开发RPC程序的实例代码和参考资料,有兴趣的同学可以给我发邮件,邮箱xzd90@126.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值