【发布时间】:2015-08-07 05:34:59
【问题描述】:
据我了解,RPC 是一种客户端-服务器模型,而客户端向服务器端发送一些请求并返回一些结果。那么,Java servlet 也是一种使用 HTTP 协议的 RPC 吗?我说的对吗?
【问题讨论】:
据我了解,RPC 是一种客户端-服务器模型,而客户端向服务器端发送一些请求并返回一些结果。那么,Java servlet 也是一种使用 HTTP 协议的 RPC 吗?我说的对吗?
【问题讨论】:
这是 RPC 上wikipedia article 的第一句话:
在计算机科学中,远程过程调用 (RPC) 是一种进程间通信,它允许计算机程序在没有程序员的情况下使子例程或过程在另一个地址空间(通常在共享网络上的另一台计算机上)执行为这个远程交互显式编码细节。1也就是说,无论子例程是执行程序的本地还是远程,程序员编写的代码基本相同。
因此,如果您可以从客户端调用 servlet,则 Servlet 将是一种 RPC 机制
SomeResult r = someObject.doSomething();
根本不是这样。要调用 servlet,您需要显式发送 HTTP 请求并按照 servlet 期望的方式对参数进行编码,然后读取并解析响应。
【讨论】: