zl程序教程

您现在的位置是:首页 >  硬件

当前栏目

GPC通信最简单的demo

通信 简单 Demo gpc
2023-06-13 09:13:54 时间

一. 运行代码

client.go

package main

import (
   "context"
   "fmt"
   "google.golang.org/grpc"
   pb "hello-grpc/proto/grpc_hello_service"
   "log"
)

func main()  {
   conn ,err := grpc.Dial("localhost:1234",grpc.WithInsecure())
   if err != nil {
      log.Fatal(err)
   }
   defer conn.Close()

   client := pb.NewHelloServiceClient(conn)
   reply,err := client.Hello(context.Background(), &pb.String{Value:"hello"})
   if err != nil {
      log.Fatal(err)
   }
   fmt.Println(reply.GetValue())
}

server.go:

package main

import (
   "google.golang.org/grpc"
   "log"
   "net"
   pb "hello-grpc/proto/grpc_hello_service"
   "hello-grpc/service"
)

func main()  {
   grpcServer := grpc.NewServer()
   pb.RegisterHelloServiceServer(grpcServer, &service.HelloServiceImpl{})

   lis, err := net.Listen("tcp","localhost:1234")
   if err != nil {
      log.Fatal(err)
   }
   grpcServer.Serve(lis)
}

二. 运行结果

image.png
image.png

三. 参考文档

https://chai2010.cn/advanced-go-programming-book/ch4-rpc/ch4-01-rpc-intro.html