RPC 与 Socket 通信
来源:互联网 发布:全职主妇 知乎 编辑:程序博客网 时间:2024/05/21 10:55
RPC 与 Socket 通信
http://luluq1987.blog.163.com/blog/static/4079068120101048494705/
2010-11-04 21:34:22| 分类:C与C++学习 | 标签:|字号大中小 订阅
今天和师兄一起开会,听他们讲到了RPC 和 Socket通信的东西. 很感兴趣,回来自己google了一下. 又学到新东西了,呵呵.
RPC(Remote Procedure Call,远程过程调用)是建立在Socket之上的,出于一种类比的愿望,在一台机器上运行的主程序,可以调用远程另一套机器上的子程序,就像LPC(本地过程调用).
越底层,代码越复杂,灵活性越高,效率越高; 越上层,抽象封装的越好,代码越简单,效率越差. Socket和RPC的区别再次说明了这点.
那么, RPC与Socket通信的区别是什么呢?
RPC是建立在Socket之上的,RPC带来了开发C/S程序的简单可靠的手段,它通过一种叫XDR的数据表达方法描述数据,程序员写伪代码,然后由rpcgen程序翻译为真正的可编译的C语言源代码,再翻译成真正的Client端和Server端程序.
RPC作为普遍的C/S开发方法,开发效率高效,可靠. 但RPC方法的基本原则是--以模块调用的简单性忽略了通讯的具体细节,以便程序员不用关心C/S之间的通讯协议, 集中精力对付实现过程. 这就决定了RPC生成的通讯不可能对每种应用都有恰当的处理方法. 与Socket方法相比,传输相同的有效数据,RPC占用更多的网络带宽.
RPC是在Socket的基础上实现的, 它比socket需要更多的网络和系统资源. 另外, 在对程序优化时, 程序员虽然可以直接修改由rpcgen产生的令人费解的源程序. 但对于追求程序设计高效率的RPC而言, 获得的简单性则被大大削弱.
RPC和Socket的 类比
两个老板手下各有一个负责接通MSN的秘书. 这两个秘书就是基于RPC协议建立的会话层通信. 老板不需要知道怎么使用MSN, 只要告诉秘书,秘书就会通过MSN与对方建立会话请求和相应. 而基于Socket的通信, 老板需要会使用MSN,这样,虽然老板需要实现培训一下关于MSN的知识, 但与对方通信时,就不用经过秘书了,效率会更高.
- RPC 与 Socket 通信
- RPC 与 Socket 通信
- RPC&Socket通信
- socket与RPC
- RPC, REST 与 SOCKET
- RPC和Socket通信的区别
- RPC与Socket的关系,RPC与RMI的关系!
- RPC与Socket的关系,RPC与RMI的关系!
- netty-protobuf-rpc与protobuf-socket-rpc互通
- 串口与socket通信
- android与Socket通信
- Windows与Linux的RPC通信详解
- 使用Scala模拟简单的RPC通信,Socket编程
- rpc通信
- RPC是什么?RPC与REST、Socket的区别?php中流行的rpc框架有哪些?
- Java socket与iOS socket通信问题
- Socket同步通信与异步通信
- Http通信与Socket通信比较:谁更猴塞雷?
- RCP开发积累
- HDU3729 I'm Telling the Truth 匈牙利算法的二分图匹配
- DefaultLookAndFeel换皮肤
- maven相关
- DevExpress的GridControl如何实现打印和打印预览
- RPC 与 Socket 通信
- 女人和编程的关系
- 在Eclipse RCP 设置表格的行高、背景颜色以及字体等等
- EclipseRCP开发之如何让表格中的各列随表格的变化始终充满整个表格
- 作个笔记,关联表的查询条件要写在with()之中
- vertical-align表单元素垂直对齐
- Eclipse RCP 开发中的进度条显示
- 使用SSH证书(不要密码)登陆远程服务器
- [Visual C++系列] 3.6 MFC中所提供的各种视类介绍