【问题标题】:Receiving messages from gRPC on Android App在 Android App 上接收来自 gRPC 的消息
【发布时间】:2015-11-04 18:57:24
【问题描述】:

我需要在 Android 应用和服务器之间创建双向通信。 我已经看到了向服务器发送消息的示例,但没有看到其他方式。 知道如何做到这一点吗?服务?异步任务?

【问题讨论】:

    标签: android grpc


    【解决方案1】:

    对于这种情况,您需要在您的 proto 文件中创建一个双向 RPC:

    service MyService {
      rpc MyStreamingCall(stream MyRequest)
          returns (stream MyResponse);
    }
    

    双向调用通过在生成的存根上调用myStreamingCall() 来工作,提供响应观察者并取回请求观察者。可以从您的 android 客户端调用请求观察器以将消息发送到服务器。当服务器响应时,将使用消息调用您的响应观察者。

    只要您的存根有一个通过将 ManagedChannelBuilder.executor() 设置为您自己的线程池而构建的 Channel,就会在其线程之一上调用响应。你可以这样做:

    ManagedChannelBuilder.forAddress("localhost", 443)
        .executor(Executors.newCachedThreadPool())
        .build();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-03
      • 2013-01-29
      • 2019-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多