0
点赞
收藏
分享

微信扫一扫

go整合 grpc

烟中雯城 2021-09-29 阅读 63
日记本

proto文件: 

syntax ="proto3";

option go_package="./;proto";

// The greeting service definition.

service Greeter {

//  Sends a greeting

  rpc SayHello (HelloRequest)returns (HelloReply) {

}

}

// The request message containing the user's name.

message HelloRequest {

string name =1;

}

// The response message containing the greetings

message HelloReply {

string message =1;

}


------------------------------server-----------------------------

package main

import (

"context"

"google.golang.org/grpc"

  proto "grpcdemo002/grpcl/proto"

"net"

)

type Serverstruct{}

func (s *Server)SayHello(ctxcontext.Context, in *proto.HelloRequest) (*proto.HelloReply, error){

return &proto.HelloReply{Message:in.Name+":Server"},nil

}

func main() {

g :=grpc.NewServer()

proto.RegisterGreeterServer(g,&Server{})

lis, err :=net.Listen("tcp", "0.0.0.0:50051")

if err !=nil {

panic("failed to listen:" + err.Error())

}

err = g.Serve(lis)

if err !=nil {

panic("failed to start grpc:" + err.Error())

}

}


----------------client -------------------


package main

import (

"context"

"fmt"

"google.golang.org/grpc"

"grpcdemo002/grpcl/proto"

)

func main() {

conn, err :=grpc.Dial("localhost:50051",grpc.WithInsecure())

if err !=nil {

panic(err)

}

defer conn.Close()

c :=proto.NewGreeterClient(conn)

r, err := c.SayHello(context.Background(), &proto.HelloRequest{Name:"bobby"})

if err !=nil {

panic(err)

}

fmt.Println(r.Message)

}

举报

相关推荐

0 条评论