gRPC概述 3/26/2016 9:16:08 AM 目录 一.概述 二.编译gRPC 三.C#中使用gRPC 四.C++中使用gRPC 一直在寻找多平台多语言的通信框架,微软的WCF框架很强大和灵活,虽然也能通过自定义绑定和其他技术的客户端通信,但是始终没有实现多平台的技术框架的统一.google的gRPC是一个不错的选择,相比于类似框架Thrift等,google的解决方案更成熟和通用.不足的是由于刚刚开源,使用范围有限,国内资料更少.例如仅仅编译C++的gRPC,花了我两天的时间.在这个…
我的这几篇文章都是使用gRPC的example,不是直接编译example,而是新建一个项目,从添加依赖,编译example代码,执行example.这样做可以为我们创建自己的项目提供借鉴.如果对gRPC构建应用很熟悉,可以无视本系列文章. 目录 一.概述 二.编译gRPC 三.C#中使用gRPC 四.C++中使用gRPC 由于有NuGet,使得C#在配置项目时非常简单. 1. 在NuGet中添加ProtocolBuffer和gRPC引用 protocol buffer 3.0版本,在NuGet…
目录 一.概述 二.编译gRPC 三.C#中使用gRPC 四.C++中使用gRPC 无论通过哪种语言调用gRPC,都必须要编译gRPC,因为生成proto访问类时,除了产生标准的数据定义类之外,还需要产生客户端代理类.客户端代理类必须由gRPC的各个语言的protoc插件来完成.而这些插件需要在gRPC编译后才能编译生成. 下面我们一步步的来说明如何得到gRPC. 获取gRPC源码 gRPC是开源框架,项目代码在github上,所以首先要安装github. github安装后,在指定文件夹中,执…
我的这几篇文章都是使用gRPC的example,不是直接编译example,而是新建一个项目,从添加依赖,编译example代码,执行example.这样做可以为我们创建自己的项目提供借鉴.如果对gRPC构建应用很熟悉,可以无视本系列文章. 目录 一.概述 二.编译gRPC 三.C#中使用gRPC 四.C++中使用gRPC 上篇介绍了C#调用gRPC,C#项目比较幸运有NuGet帮助配置,C++项目就没有那么幸运了.配置复杂,编译问题也很多.我在这里把我遇到的情况都列出来,使大家在遇到相同的问题…
google多语言通信框架gRPC系列(一)概述 gRPC概述 3/26/2016 9:16:08 AM 目录 一.概述 二.编译gRPC 三.C#中使用gRPC 四.C++中使用gRPC 一直在寻找多平台多语言的通信框架,微软的WCF框架很强大和灵活,虽然也能通过自定义绑定和其他技术的客户端通信,但是始终没有实现多平台的技术框架的统一.google的gRPC是一个不错的选择,相比于类似框架Thrift等,google的解决方案更成熟和通用.不足的是由于刚刚开源,使用范围有限,国内资料更少.例如…
gRPC是一个高性能.开源.通用的RPC框架,面向移动和HTTP/2设计,是由谷歌发布的首款基于Protocol Buffers的RPC框架. gRPC基于HTTP/2标准设计,带来诸如双向流.流控.头部压缩.单TCP连接上的多复用请求等特性.这些特性使得其在移动设备上表现更好,更省电且节省空间占用. gRPC 1.0版本是2015年面世以后的第一次版本发布,开发者可以把该版本用于生产.API现在也是很稳定的. 关于Java版本发布情况,大家阅读发布日志:https://github.com/g…
之前一个月都在学习googletest框架,对googletest的文档都翻译了一遍,也都发在了之前的博客里,另外其实还有一部分的文档我没有发,就是GMock的CookBook部分:https://github.com/google/googletest/blob/master/googlemock/docs/CookBook.md.这部分我也翻译了,也写了很多代码,但是这部分文档太长了,很难看完,除非是真用到里边的内容才会去里面找,所以就不在这浪费笔墨,如果有想要的可以在下边评论.截了个图:…
Google C++测试框架系列:入门 原始链接:V1_6_Primer 注 GTest或者Google Test: Google的C++测试框架. Test Fixtures: 这个词实在找不到对应的中文. Bug: 太常用了,不翻译. House keeping chores: 家常事务.指非核心的编码工作,比如测试代码的assert, log以及用例管理等工作. set-up/tear-down: 指运行测试前的准备和之后的清理工作. test case: 测试用例,管理测试的单位,一个测…
上一篇:Google C++测试框架系列入门篇:第二章 开始一个新项目 原始链接:Basic Concepts 词汇表 版本号:v_0.1 基本概念 使用GTest你肯定会接触到断言这个概念.断言是用来判断某个条件是否为真.一个断言的结果可以是通过,也可以是非致命失败或致命失败.如果发生了一个致命失败,当前函数就会立刻退出,不然函数还是会继续执行到正常结束. 测试使用断言来判断测试代码的行为.如果测试崩溃了或者断言失败,那么这个测试就失败了,不然就是通过. 一个测试用例包含一个或多个测试.你必须…
上一篇:Google C++测试框架系列入门篇:第一章 介绍:为什么使用GTest? 原始链接:Setting up a New Test Project 词汇表 版本号:v_0.1 开始一个新项目 使用GTest编写测试程序,你必须先把GTest编译成一个库文件然后在你的测试程序中链接它.我们为主流的构建系统准备了一些现成的脚本:GTest根目录下的msvc/用于Visual Studio,xcode/用于Mac的Xcode,make/用于GNU make,codegear/用于Borland…