gRPC の例は相互運用を意図していますか? Java クライアント/サーバーの例はすべて Java で実行できます。Go で完全に Go の例を使用できます。しかし、Go の hello world クライアントは、Java の hello world サーバーと通信しません。
1 つのターミナルで、grpc-java から:
$ ./gradlew :grpc-examples:helloWorldServer
:grpc-core:compileJava UP-TO-DATE
...
:grpc-examples:helloWorldServer
Mar 10, 2015 7:01:50 PM io.grpc.examples.helloworld.HelloWorldServer start
INFO: Server started, listening on 50051
> Building 96% > :grpc-examples:helloWorldServer
別のターミナルで grpc-common/go から
$ go run greeter_client/main.go
2015/03/10 19:02:47 could not greet: rpc error: code = 12 desc = "Method not found: /helloworld.Greeter/SayHello"
exit status 1
私が期待していたクロス言語の例ではありません。SayHello はありますが、問題はパスまたは大文字と小文字の区別ですか? 私は何かを見逃していますか、それともこの言語間の協力はまだ実現されていない意図ですか?
(注意 - 私は Go を知りません。C++ 用の grpc をビルドできませんでした)。