设为首页 加入收藏

TOP

[系列] Go gRPC Hello World(二)
2019-08-04 00:07:27 】 浏览:129
Tags:系列 gRPC Hello World
ailed to serve: %v", err) } }

运行:

go run main.go

2019/07/28 17:51:20 Listen on 0.0.0.0:9090

编写客户端请求接口的代码

package main

import (
    "hello/go_client/proto/hello"
    "io"
    "log"
    "golang.org/x/net/context"
    "google.golang.org/grpc"
)

const (
    // gRPC 服务地址
    Address = "0.0.0.0:9090"
)

func main() {
    conn, err := grpc.Dial(Address, grpc.WithInsecure())
    if err != nil {
        log.Fatalln(err)
    }
    defer conn.Close()

    // 初始化客户端
    c := hello.NewHelloClient(conn)

    // 调用 SayHello 方法
    res, err := c.SayHello(context.Background(), &hello.HelloRequest{Name: "Hello World"})

    if err != nil {
        log.Fatalln(err)
    }

    log.Println(res.Message)

    // 调用 LotsOfReplies 方法
    stream, err := c.LotsOfReplies(context.Background(),&hello.HelloRequest{Name: "Hello World"})
    if err != nil {
        log.Fatalln(err)
    }

    for {
        res, err := stream.Recv()
        if err == io.EOF {
            break
        }

        if err != nil {
            log.Printf("stream.Recv: %v", err)
        }

        log.Printf("%s", res.Message)
    }
}

运行:

go run main.go

2019/07/28 17:58:13 Hello World
2019/07/28 17:58:13 Hello World Reply 0
2019/07/28 17:58:13 Hello World Reply 1
2019/07/28 17:58:13 Hello World Reply 2
2019/07/28 17:58:13 Hello World Reply 3
2019/07/28 17:58:13 Hello World Reply 4
2019/07/28 17:58:13 Hello World Reply 5
2019/07/28 17:58:13 Hello World Reply 6
2019/07/28 17:58:13 Hello World Reply 7
2019/07/28 17:58:13 Hello World Reply 8
2019/07/28 17:58:13 Hello World Reply 9

查看源码:https://github.com/xinliangnote/Go

推荐阅读

gRPC

Gin 框架

基础篇

本文欢迎转发,转发请注明作者和出处,谢谢!

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇在Go中简单实现HTTP服务中间件 下一篇Go调用Delphi编写的DLL

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目