Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >GPC通信最简单的demo

GPC通信最简单的demo

原创
作者头像
爽朗地狮子
修改于 2022-10-20 06:57:01
修改于 2022-10-20 06:57:01
6670
举报
文章被收录于专栏:云原生系列云原生系列

一. 运行代码

client.go

代码语言:txt
AI代码解释
复制
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:

代码语言:txt
AI代码解释
复制
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
image.png
image.png

三. 参考文档

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Go语言,gRPC 的使用了解--下
客户端流式 RPC,单向流,客户端通过流式发起多次 RPC 请求到服务端,服务端发起一次响应给客户端
微客鸟窝
2021/11/19
5660
Go语言,gRPC 的使用了解--上
$ go get -u google.golang.org/grpc@v1.29.1
微客鸟窝
2021/11/19
9210
Go语言,gRPC 的使用了解--上
测试小姐姐问我 gRPC 怎么用,我直接把这篇文章甩给了她
上篇文章 gRPC,爆赞 直接爆了,内容主要包括:简单的 gRPC 服务,流处理模式,验证器,Token 认证和证书认证。
AlwaysBeta
2021/10/25
1.2K0
Go微服务(三)——gRPC详细入门
这里会联合protobuf语法以及protobuf如何去定义rpc服务,前面我们只生成了结构体,现在我们要让他为我们同时把接口生成,有了响应的接口,我们就再也不用去手写接口了。
传说之下的花儿
2023/04/16
4.1K0
Go微服务(三)——gRPC详细入门
go实现grpc通信
本文为仙士可原创文章,转载无需和我联系,但请注明来自仙士可博客www.php20.cn
仙士可
2022/04/25
6330
go实现grpc通信
go简单使用grpc
grpc github:https://github.com/grpc/grpc-go (opens new window)
编程黑洞
2023/03/06
4510
探秘Proto文件:解析定义与参数揭秘
Proto文件是Google开发的一种用于定义数据结构和服务接口的语言,通常用于在不同平台之间进行数据交换和通信。
天天Lotay
2023/10/15
2.2K0
实践gRPC之GoLang入门HelloWord
这篇文章里我们要实现一个基于GoLang编程语言的gRPC的客户端与服务端通信的HelloWorld案例 编写hello_world.proto文件,如下代码: syntax proto3 package proto //接口请求入参 message HelloRequest{ string request = 1; } //接口返回出参 message HelloResponse{ string response = 1; } //定义接口 service HelloService{
阿伟
2019/08/26
6540
实践gRPC之GoLang入门HelloWord
grpc-go之基本使用(一)
gRPC 是一个高性能、通用的开源 RPC 框架,其由 Google 主要面向移动应用开发并基于 HTTP/2 协议标准而设计,基于 ProtoBuf(Protocol Buffers) 序列化协议开发,且支持众多开发语言。
Johns
2022/09/26
1.5K0
Go 中的 gRPC 入门详解
golang-grpc 包提供了 gRPC 相关的代码库,通过这个库我们可以创建 gRPC 服务或客户端,首先需要安装他。
痴者工良
2021/04/26
3.1K0
基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 1/3
基于Go/Grpc/kubernetes/Istio开发微服务的最佳实践尝试 - 1/3
码仔janrs.com
2023/03/31
4920
gRPC,爆赞
gRPC 这项技术真是太棒了,接口约束严格,性能还高,在 k8s 和很多微服务框架中都有应用。
AlwaysBeta
2021/10/12
1.2K0
protoc语法详解及结合grpc定义服务
说到JSON可能大家很熟悉,是目前应用最广泛的一种序列化格式,它使用起来简单方便,而且拥有超高的可读性。但是在越来越多的应用场景里,JSON冗长的缺点导致它并不是一种最优的选择。而今天总结的Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。本文主要以Golang语言进行介绍。
陌无崖
2019/08/16
2.9K0
protoc语法详解及结合grpc定义服务
基于内存通信的gRPC调用
Apache Dubbo 有injvm方式的通信,能够避免网络带来的延迟,同时也不占用本地端口,对测试、本地验证而言,是一种比较方便的RPC通信方式。
Robert Lu
2021/11/24
1.4K0
gRPC介绍
RPC的消息传输可以是TCP,可以是UDP,也可以是HTTP,当RPC消息传输是HTTP时,它的结构与RESTful的架构类似
阿兵云原生
2023/02/16
5550
gRPC认证的多种方式实践
gRPC安全认证介绍 gRPC被设计成可以利用插件的形式支持多种授权认证机制,你可以采用自己喜欢的,简单的,认为方便的一种方式,选择权在用户手里 支持的授权认证机制如下 SSL/TLS认证 自定义Token认证 SSL/TLS的概念可以参考下面的文章 https://www.techug.com/post/https-ssl-tls.html SSL/TLS认证方式 首先通过openssl生成证书和私钥,命令如下 //生成私钥 openssl genrsa -out server.key 2048 //生
阿伟
2019/09/10
1.5K1
gRPC学习笔记2 - 示例
两个微服务之间通过基于 HTTP 2.0 二进制数据帧通信,使用 gRPC 内置的 protobuf 协议,其 DSL 语法 可清晰定义服务间通信的数据结构
张云飞Vir
2020/04/09
6650
Go gRPC Hello World
开始 gRPC 了,这篇文章学习使用 gRPC,输出一个 Hello World。
新亮
2019/08/01
4860
gRPC-Server启动,深入源码探究,一起弄懂它
gRPC已经断断续续写了七篇文章了,但基本都是属于gRPC的使用上,旨在帮助大家如何使用gRPC,了解gRPC的功能以及特性,并通过示例代码让大家能快速入门,对开发人员而言,一个可运行的demo是最好的教程,文章连接和可运行demo如下,今天我们开始深入gRPC服务是怎么启动的,一起看他的源码,揭开他的神秘面纱。
阿伟
2019/10/22
4.7K0
gRPC-Server启动,深入源码探究,一起弄懂它
go 使用 grpc 通讯
Go是一种强类型、静态编译的语言,grpc是一种高性能的、开源的远程过程调用框架。在Go语言中使用grpc可以轻松地实现跨网络的通信,提供了高效的序列化、压缩和流控制等功能。
运维开发王义杰
2023/08/21
3300
go 使用 grpc 通讯
相关推荐
Go语言,gRPC 的使用了解--下
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档