最新文章列表

protoc工具生成java代码

到百度网盘下载protoc工具 。链接https://pan.baidu.com/s/1-NIol0rEBsVrS2uIe3A5Tw 提取码 067d cmd命令 切换到已经下载下来的protoc工具目录 执行如下命令 protoc.exe --java_out=./ .XXX.proto  注:XXX.proto 你的proto文件  如下: package com.protobuf; ...
zlrzlm7454 评论(0) 有999人浏览 2021-01-07 11:25

Mac 使用 brew安装指定版本protobuf

前言:     在mac中使用 brew install 安装的软件默认都是最新版本的。有时候我们需要旧版本(指定版本)的时候,应该怎么做呢? 一、前提  已安装brew、git 二、安装过程 1、下载homebrew-core git colne https://github.com/Homebrew/homebrew-core.git 2、查看对应版本对应commit gi ...
decao 评论(0) 有3008人浏览 2019-04-12 09:54

protobuf extension

  有时需要扩展公共模块的功能,各个子模块实现各自业务逻辑,protobuf 提供了extensions用于处理该场景。   公共协议comm_info.proto package test; message CommReq { optional int id = 1; extensions 10000 to 12000; // 预留[10000,12000]用于扩展 ...
tcspecial 评论(0) 有957人浏览 2019-03-23 21:56

netty中使用protobuf实现多协议的消息

    在我们使用 netty 的过程中,有时候为了高效的传输数据,经常使用 protobuf 进行数据的传输,netty默认情况下为我们实现的 protobuf 的编解码,但是默认的只能实现单个对象的编解码,但是我们在使用 netty 的过程中,可能需要传输的对象有各种各样的,那么该如何实现对protobuf多协议的解码呢?       在 protobuf 中有一种类型的字段叫做  on ...
huan1993 评论(0) 有2858人浏览 2019-02-15 16:28

proto3语法记录

   protobuf 是谷歌的语言无关,平台无关,可扩展的,高效的结构化数据序列化机制,比xml和json的序列化的速度更快,此处记录一下 proto3 的语法,防止以后忘记。   注意:proto3 语法需要注意的事项,见下方代码中的注释   syntax = "proto3"; // 定义这个文件的语法是proto3、默认情况下是proto2 这个指定语法行必须 ...
huan1993 评论(0) 有1740人浏览 2019-02-14 17:57

类似protobuf的自定义数据结构

本部分纯属练手,参考对protobuf的理解,自己实现一套类似的结构处理,达成的目标:任意两个结构的数据都可以通过中间结构互换,如: struct Person {     int age;     std::string name; }per; struct Student {     int age;     std::string sex;     std::string ...
田庆阳 评论(0) 有1814人浏览 2017-09-28 16:22

基于http的protobuf服务实现

  通常webapi实现通过http get/post请求,返回文本型的json,xml等字符串。本文以Tomcat8为web服务器,借助protobuf框架,响应二进制数据。 由于protobuf协议能跨语言,我们可以用java servlet实现服务端,C/C++实现客户端,达到各模块解耦目的。双方需设置ContentType为application/x-protobuf。   1. ...
tcspecial 评论(0) 有12309人浏览 2017-05-28 10:34

protobuf 格式分析

  protobuf 是谷歌出品一款高性能序列化框架,优点序列化后报文数据小,支持多种多种编程语言(c/c++,java,php,python等主流语言),缺点二进制不可读这倒不重要。   一. 安装 下载源码编译   二. 开发流程 2.1 准备helloworld.proto文件 package com; message helloworld{ require ...
tcspecial 评论(0) 有3803人浏览 2017-05-27 15:19

Protobuf基础之proto文件的编译和使用

1、创建测试用的proto源文件,如:StudentInfo.proto,内容如下   message StudentInfo{ required int32 id = 1; required string name = 2; optional string email = 3; }   2、cmd命令行进入protobuf源代码文件夹下的src目录 ...
sharley 评论(0) 有15284人浏览 2017-05-18 20:16

Protobuf基础之Windows下安装python protobuf 模块

1、从https://github.com/google/protobuf 的Downloads模块下载  protobuf-2.6.1.zip 和 protoc-2.6.1-win32.zip (笔者机器上已安装了python2.6.4版本) 2、解压上面两个zip文件,将protoc-2.6.1-win32.zip里的protoc.exe,放到protobuf-2.6.1的src目 ...
sharley 评论(0) 有3555人浏览 2017-05-18 18:30

serialization-protobuf

java : http://www.blogjava.net/jiangshachina/archive/2012/02/13/369898.html   protobuf 简介:是一种序列化与结构化数据的一种机制,具有跨平台、解析速度快、序列化数据体积小、扩展性高、使用简单的特点 目标:验证protobuf序列化的内存占用量低于Java的直接序列化   java的实现: publ ...
王新春 评论(0) 有722人浏览 2017-04-07 20:20

spring boot 异常处理扩展(返回格式protofuf)

spring boot 提供了统一的异常处理机制,@ControllerAdvice, @ExceptionHandler两个注解,可以处理controller里抛出的异常,不要对每个controller方法进行try catch,如果你使用json或者返回固定的错误页面作为传输数据格式,普通的使用方法即可解决,由于我们服务端使用protobuf与客户端进行交互,每个controller方法的返 ...
abc08010051 评论(0) 有2978人浏览 2016-09-05 16:24

Unix下面安装protobuf并生成java对象的步骤

protobuf是google的文件序列化协议,最近在项目中广为使用,unix操作系统里面配置方法如下: 1.从网上任何一个途径下载protobuf-2.6.1.tar.gz 2.运行tar xvf protobuf-2.6.1.tar.gz 3.运行cd protobuf-2.6.1 4.运行./configure CC=clang CXX=clang++ CXXFLAGS='-std=c++1 ...
xglv2013 评论(0) 有1828人浏览 2016-06-02 19:43

protobuf C++生成代码中使用自己定义类型参数时的set问题

  如果proto结构体的变量是基础变量,比如int、string等等,那么set的时候直接调用set_xxx即可。 如果变量是自定义类型,那么C++的生成代码中,就没有set_xxx函数名,取而代之的是三个函数名: set_allocated_xxx() release_xxx() mutable_xxx() 使用set_allocated_xxx()来设置变量的时候,变量不能是 ...
aigo 评论(0) 有5427人浏览 2016-05-23 22:11

[UE4]protoc生成的代码编译问题:error LNK2019: unresolved external symbol "public: __cdec

ue4工程编译时,如果只是将protobuf.lib链接进来,不加入protoc生成的代码,那么编译时没有问题的,但是如果加进来了,那么就跪了: error LNK2019: unresolved external symbol "public: __cdecl  。。。"   之前这个问题没想明白,以为可以通过设置工程来解决这个错误,后来想了想,protoc生成的代码 ...
aigo 评论(0) 有2786人浏览 2016-05-03 12:26

[cmake 2.x]解析protobuf模版(*.proto)并构建其C++代码

  有两种方式,一种是使用cmake自带的FindProtobuf module,这个模块内部集成了生成代码命令的操作,用起来最方便;另外一种是将protoc命令集成到CMakeLists.txt中,这种要麻烦点。   自带的FindProtobuf 方法如下: 使用cmake自带的FindProtobuf解析protobuf http://www.leoox.com/?p=285 ...
aigo 评论(0) 有4029人浏览 2016-05-02 11:34

protobuf 2.6不再支持文件名通配符

  protobuf 2.6之前的版本,同时为多个proto文件生成java或者c++代码时,是支持通配符的,比如 protoc.exe --proto_path=custom_msg --cpp_out=build custom_msg/*.proto   但现在2.6已经不支持这种写法了,要同时指定多个proto文件名,必须追加文件名: protoc.exe --proto_path ...
aigo 评论(0) 有2064人浏览 2016-04-28 21:37

跨语言通信方案的比较—Thrift、Protobuf和Avro

thrift由facebook出品,protobuffer由google出品; 下面对比一下这两个的区别。参考:http://zhidao.baidu.com/link?url=yNLBeHhWokfwB677UZHoyv4vLyPOZEEQypUMiX__YIhp5E7UmpvIWTArKPMab32xj5gkRo4a6CXoZ1nxore82kXyOzfXdaRRhOAPynxYmB7 1 ...
aoyouzi 评论(0) 有9786人浏览 2016-04-03 21:43

Google 开源技术protobuf工作原理

1.  Protobuf简介          protobuf是google提供的一个开源序列化框架,类似于XML,JSON这样的数据表示语言,其最大的特点是基于二进制,因此比传统的XML表示高效短小得多。虽然是二进制数据格式,但并没有因此变得复杂,开发人员通过按照一定的语法定义结构化的消息格式,然后送给命令行工具,工具将自动生成相关的类,可以支持php、java、c++、python等语言 ...
aoyouzi 评论(0) 有11780人浏览 2016-04-03 21:33

Kafka与Spring的集成

producer public class KafkaServiceImpl implements KafkaService { private Producer<byte[], byte[]> inner; private Properties properties; public void setInner(Producer<byte[], ...
cpjsjxy 评论(0) 有10735人浏览 2016-01-15 16:10

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54918) .net(54785) Web(54513) 工作(54116) Linux(50906) Oracle(49876) 应用服务器(43288) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36423)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics