V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yxjn
V2EX  ›  Java

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

  •  
  •   yxjn · 2019-12-18 18:44:37 +08:00 · 2884 次点击
    这是一个创建于 1786 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    3 条回复    2019-12-18 19:13:05 +08:00
    ym1ng
        1
    ym1ng  
       2019-12-18 18:52:56 +08:00
    看这描述感觉像是要搞远控(逃~
    catror
        2
    catror  
       2019-12-18 19:00:55 +08:00 via Android
    自己封装一下就好了,写个 RequestManager,实现请求的等待和唤醒
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5338 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 07:09 · PVG 15:09 · LAX 23:09 · JFK 02:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.