为什么我们需要RPC编程?

时间:2015-08-02 17:07:39

标签: sockets rpc

我从事系统安全工作,我想知道为什么我们需要RPC编程以及RPC和简单套接字编程之间的区别是什么?它们都有客户端和服务器应用程序,基于tcp / ip,IP地址,端口号,... 感谢

2 个答案:

答案 0 :(得分:5)

RPC是如何将结构化数据作为对服务器的调用发送并将结构化数据作为响应返回的一种定义。您可以使用任何a wide variety of protocols具有相同的基本目标,如SOAP或WCF。

任何这些协议都建立在TCP / IP之上,并允许服务器和客户端使用预定义的结构进行通信。您可以在没有任何协议的情况下执行相同的操作,但是您必须为服务器和客户端的通信方式设置一组新的自定义规则。

您不需要任何这些协议进行通信,有时(例如实时在线游戏)使用自定义简化协议,但对于大多数客户端 - 服务器通信,最好使用众所周知的协议。 / p>

答案 1 :(得分:1)

嗯,有很多不同的RPC技术,所以很难说你所指的是什么。但一般来说,它是网络传输(如UDP和TCP)之上的一层,用于编组参数和调用结果。您需要它以结构化的方式与服务进行通信。一些常用的应用程序和系统服务使用众所周知的RPC机制(如Windows DCOM,NFS安装协议,Kerberos,SAP RFC)。