yxjn
V2EX  ›  Java

请教一个 rpc 方案,客户端同服务端建立连接后,服务端如何同步调用客户端方法

  •  
  •   yxjn · Dec 18, 2019 · 3395 views
    This topic created in 2422 days ago, the information mentioned may be changed or developed.

    请教一个 rpc 方案,客户端同服务端建立连接后,服务端如何同步调用客户端方法

    已知客户端知晓服务端地址,服务端无法主动同客户端建立连接。

    楼主想到的一个方案是,rpc 建立连接后,可以采用 Bidirectional streaming 的方式,这样服务端和客户端可以双向发消息。但是这样貌似是全异步的,调用方通过服务端调用的时候需要在消息里标记一个消息 id,然后阻塞等待,客户端收到消息后,处理后返回 response。服务端收到 response 后通过消息 id 找到调用方。

    有没有什么更好的办法,处理起来就像是客户端同步调用服务端方法一样顺滑。

    3 replies    2019-12-18 19:13:05 +08:00
    ym1ng
        1
    ym1ng  
       Dec 18, 2019
    看这描述感觉像是要搞远控(逃~
    catror
        2
    catror  
       Dec 18, 2019 via Android
    自己封装一下就好了,写个 RequestManager,实现请求的等待和唤醒
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4061 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 05:20 · PVG 13:20 · LAX 22:20 · JFK 01:20
    ♥ Do have faith in what you're doing.