1
我需要在Android應用程序和服務器之間創建雙向通信。 我已經看到了向服務器發送消息但不是其他方式的示例。 任何想法如何做到這一點?服務?的AsyncTask?從Android上的gRPC接收消息
我需要在Android應用程序和服務器之間創建雙向通信。 我已經看到了向服務器發送消息但不是其他方式的示例。 任何想法如何做到這一點?服務?的AsyncTask?從Android上的gRPC接收消息
對於這種情況,你需要做一個雙向的RPC在你的原型文件:
service MyService {
rpc MyStreamingCall(stream MyRequest)
returns (stream MyResponse);
}
雙向通過對產生的存根調用myStreamingCall()
,提供響應的觀察者和取回請求觀察員呼籲工作。請求觀察者可以從您的android客戶端調用以將消息發送到服務器。當服務器響應時,您的響應觀察者將與消息一起被調用。
只要您的存根控件有一個通過將ManagedChannelBuilder.executor()設置爲您自己的線程池構建的通道,就會在其某個線程上調用響應。你可以這樣做:
ManagedChannelBuilder.forAddress("localhost", 443)
.executor(Executors.newCachedThreadPool())
.build();