gRPC 示例是否旨在互操作?我可以完全使用 Java 运行 Java 客户端-服务器示例。我可以使用 Go 完全使用 Go 示例。但是 Go 的 hello world 客户端不会与 Java 的 hello world 服务器通信。
在一个终端中,来自 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)。