GRPC初探--简单客户端,服务端编写

lkpalu Lv3

服务端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package main

import (
pb "NewGrpc/proto/github.com/lkpalu/grpc-go/proto"
"context"
"google.golang.org/grpc"
"log"
"net"
)

type newServer struct {
pb.UnimplementedNewServer
}

func (s *newServer) Hello(ctx context.Context, re *pb.Request) (*pb.Response, error) {
return &pb.Response{
Messages: "Hello World" + re.Messages,
}, nil
}
func main() {
//n := newServer{}
grpcServer := grpc.NewServer()
pb.RegisterNewServer(grpcServer, &newServer{})
lis, err := net.Listen("tcp", ":8080")
if err != nil {
log.Fatalf("failed to listen: %v", err)
}
err = grpcServer.Serve(lis)
if err != nil {
log.Fatalf("failed to serve: %v", err)
}
}

服务端实现定义的接口即可

客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package main

import (
pb "NewGrpc/proto/github.com/lkpalu/grpc-go/proto"
"context"
"fmt"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure"
)

func main() {
m := pb.Request{
Messages: "lkpalu",
}
conn, err := grpc.NewClient("localhost:8080", grpc.WithTransportCredentials(insecure.NewCredentials()))
if err != nil {
panic(err)
}
defer conn.Close()
client := pb.NewNewClient(conn)
resp, err := client.Hello(context.Background(), &m)
fmt.Println(resp.Messages)
}

客户端直接调用即可

  • 标题: GRPC初探--简单客户端,服务端编写
  • 作者: lkpalu
  • 创建于 : 2024-11-07 21:18:54
  • 更新于 : 2024-11-07 21:22:08
  • 链接: https://redefine.ohevan.com/2024/11/07/GRPC初探-简单客户端,服务端编写/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论
目录
GRPC初探--简单客户端,服务端编写