【问题标题】:What's the difference between RPC and Browser/Server?RPC 和浏览器/服务器有什么区别?
【发布时间】:2011-09-09 03:34:40
【问题描述】:

Browser/Server 好像和 RPC 一样,就是 Browser 向 Server 发送请求,

服务端调用相关例程后返回数据。

那么有什么区别呢?

【问题讨论】:

    标签: rpc


    【解决方案1】:

    这些是松散相关的概念。 “浏览器/服务器”(通常称为客户端/服务器)表示一种架构,其中您有一个进程监听请求(服务器)和发出请求的进程(客户端)。客户端可能会也可能不会使用 RPC 机制调用服务器。例如,HTTP 是一种不被视为 RPC 的客户端/服务器协议。

    RPC表示Remote Procedure Call,即客户端调用代理对象上的方法,代理对象向服务器发送请求。然后,服务器将请求转换为对其目标对象的方法(过程)调用。因此对于客户端来说,它看起来只是在调用服务器对象上的一个方法,但客户端/服务器代码是实现这一点的原因。

    【讨论】:

    • 我看不出有什么不同。
    • 如果一个客户端调用一个类似remoteObj.doSomething()的服务器,那么它就是RPC。如果客户端通过以不同方式发送消息来调用服务器,则它不是 RPC。只需将 RPC 视为一种客户端/服务器样式。
    • 所以它只是看起来不同,但本质上是一样的?
    • 本质上不是,两者的基本工作方式存在差异。
    • 取决于你问谁。有些人认为 RPC 是更专业的东西,比如 RMI,但我知道的大多数人认为 SOAP Web 服务之类的东西也是 RPC 的一种形式,并且使用这种技术,您确实知道是否调用了一个过程。
    【解决方案2】:

    但也有一些差异需要考虑:

    1. RPC 与存根一起工作。客户端调用“client-stub”,后者又调用“server-stub”来调用过程。如果您谈论浏览器服务器,有时也会实现 RPC (RMI) 技术来达到相同的效果。

    2. 另外,调用一个缺点,RPC的调用不是面向连接的。客户端不知道该过程是否实际调用。因此,在不可预知的网络问题的情况下,它可能会失败。 此外,浏览器技术是可靠的,因为它确认(如果实施)服务器中进程的执行(使用 AJAX 等)。

    【讨论】:

      【解决方案3】:

      Rpc 导致一个过程在远程过程中执行。 在客户端服务器中,该过程可以在本地主机或远程位置执行。

      【讨论】:

        猜你喜欢
        • 2013-10-21
        • 1970-01-01
        • 2012-08-28
        • 2017-04-18
        • 1970-01-01
        • 2019-02-26
        • 1970-01-01
        • 1970-01-01
        • 2011-03-14
        相关资源
        最近更新 更多