grpc服务端 代码示例
时间: 2023-06-09 16:07:23 浏览: 136
好的,以下是一个简单的 gRPC 服务端代码示例(使用 Go 语言编写):
```
package main
import (
"context"
"log"
"net"
"google.golang.org/grpc"
"pb" // 导入自动生成的 pb 库
)
const (
port = ":50051"
)
type server struct{}
func (s *server) SayHello(ctx context.Context, in *pb.HelloRequest) (*pb.HelloReply, error) {
log.Printf("Received: %v", in.GetName())
return &pb.HelloReply{Message: "Hello " + in.GetName()}, nil
}
func main() {
lis, err := net.Listen("tcp", port)
if err != nil {
log.Fatalf("failed to listen: %v", err)
}
s := grpc.NewServer()
pb.RegisterGreeterServer(s, &server{})
if err := s.Serve(lis); err != nil {
log.Fatalf("failed to serve: %v", err)
}
}
```
这是一个简单的 gRPC 服务端实现,它包含一个 `SayHello` 方法,用于响应客户端的请求。我们使用自动生成的 pb 库来处理请求和响应。在主函数中,我们创建一个 gRPC 服务器,将 pb 库注册到服务器上,并开始监听端口。当客户端发送请求时,服务器将调用相应的方法来响应请求。
阅读全文