» gRPC快速入门:Go语言 » 5. 创建 client » 5.1 创建 stub

创建 stub

在这一节中,你将看到如何为 RouteGuide 服务创建一个 Go 客户端。 你可以在 grpc-go/examples/route_guide/client/client.go 中看到完整的示例客户端代码。

要调用服务方法,我们首先需要创建一个 gRPC channel(通道) 与服务器进行通信。我们通过将服务器地址和端口号传递给 grpc.Dial() 来创建它,如下所示:

var opts []grpc.DialOption
...
conn, err := grpc.Dial(*serverAddr, opts...)
if err != nil {
  ...
}
defer conn.Close()

如有需要,你可以使用 DialOptionsgrpc.Dial 中设置认证凭据(例如,TLS、GCE 凭据或 JWT 凭据)。RouteGuide 服务暂不需要任何凭据。

一旦设置好了 gRPC channel,我们就需要一个客户端 stub 来执行 RPC。我们可以使用 .proto 文件生成的 pb 包提供的 NewRouteGuideClient 方法来获取它。

client := pb.NewRouteGuideClient(conn)