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