启动 server
一旦我们实现了所有的方法,我们还需要启动一个 gRPC 服务器,以便客户端可以使用我们的服务。
以下代码片段显示如何为 RouteGuide
服务执行此操作:
lis, err := net.Listen("tcp", fmt.Sprintf("localhost:%d", port))
if err != nil {
log.Fatalf("failed to listen: %v", err)
}
var opts []grpc.ServerOption
...
grpcServer := grpc.NewServer(opts...)
pb.RegisterRouteGuideServer(grpcServer, newServer())
grpcServer.Serve(lis)
要构建和启动服务器,我们执行以下操作:
- 指定要使用的端口来监听客户端请求:
lis, err := net.Listen(...)
. - 创建 gRPC 服务器的实例:
grpc.NewServer(...)
. - 将我们的服务实现注册到 gRPC 服务器上:
pb.RegisterRouteGuideServer(grpcServer, ...)
- 携带端口信息调用 grpcServer 的
Serve()
进行阻塞等待,直到进程被终止或Stop()
被调用。
Loading...
> 此处输出代码运行结果