私はプロバイダと消費者プロセスの間にプラットフォームに依存しない通信チャネルを構築しようとしています。 grpc + protobufが良いオプションであることが判明しました。Androidのgrpcサーバー
Android上で動作するGRPCサーバー(Java/C++)の実装例はありますか? は私が
private class GrpcServerTask extends AsyncTask<Void, Void, String>{
@Override
protected void onPreExecute() {
}
@Override
protected String doInBackground(Void... params) {
int port = 50051;
Server server;
try {
server = ServerBuilder.forPort(port)
.addService(new GreeterImpl())
.build()
.start();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
private class GreeterImpl extends GreeterGrpc.GreeterImplBase {
@Override
public void sayHello(HelloRequest req, StreamObserver<HelloReply> responseObserver) {
HelloReply reply = HelloReply.newBuilder().setMessage("Hello " + req.getName()).build();
responseObserver.onNext(reply);
responseObserver.onCompleted();
}
}
サーバーを実装するためにgrpcのJavaサーバーの例を以下の午前私はエラーに
io.grpc.ManagedChannelProvider$ProviderNotFoundException: No functional server found. Try adding a dependency on the grpc-netty artifact
on executing new GrpcServerTask().execute();
おかげでAndroid上
注:Nettyチームは、Android http://netty.io/wiki/new-and-noteworthy-in-4.1.html#wiki-h3-3を正式にサポートすることを決定しました – Erwin