beego使用grpc - Go语言中文社区

beego使用grpc


【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> hot3.png

服务端 main.go

import "google.golang.org/grpc"
func RunGrpc() {
	list, err := net.Listen("tcp", ":9001")
	logs.Info("grpc:9001")
	if err != nil {
		logs.Info("grpc err=%s", err)
	}

	s := grpc.NewServer()
	pb.RegisterWaiterServer(s, &helloServer{})
	reflection.Register(s)
	if err := s.Serve(list); err != nil {
		logs.Info("failed to serve: %v", err)
	}
}

func main(){
	go RunGrpc()
	beego.Run()
}

客户端 controller.go

import "google.golang.org/grpc"

func (c *UserController) Bind() {

	var ADDRESS = "localhost:9001"

	//通过grpc 库 建立一个连接
	conn, err := grpc.Dial(ADDRESS, grpc.WithInsecure())
	if err != nil {
		return
	}
	defer conn.Close()

	//通过刚刚的连接 生成一个client对象。
	cc := pb.NewWaiterClient(conn)
	//直接通过 client对象 调用 服务端的函数
	r, err := cc.DoMD5(context.Background(), &pb.Req{JsonStr: "namas"})
	if err != nil {
		log.Fatal("could not greet: %v", err)
	}
	log.Printf("Greeting: %s", r.BackJson)
	return
}
版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/u010055810/article/details/103854651
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-03-07 21:17:46
  • 阅读 ( 3349 )
  • 分类:Go

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢