我需要在 Android 应用程序和服务器之间创建双向通信。我已经看到了向服务器发送消息的示例,但没有看到其他方式。知道如何做到这一点吗?服务?异步任务?
问问题
919 次
1 回答
0
对于这种情况,您需要在 proto 文件中创建双向 RPC:
service MyService {
rpc MyStreamingCall(stream MyRequest)
returns (stream MyResponse);
}
双向调用通过调用myStreamingCall()
生成的存根、提供响应观察者并取回请求观察者来工作。可以从您的 android 客户端调用请求观察器以将消息发送到服务器。当服务器响应时,将使用消息调用您的响应观察者。
只要您的存根有一个使用 ManagedChannelBuilder.executor() 设置为您自己的线程池的 Channel,就会在其线程之一上调用响应。你可以这样做:
ManagedChannelBuilder.forAddress("localhost", 443)
.executor(Executors.newCachedThreadPool())
.build();
于 2016-01-15T23:35:02.250 回答