Protobuf一例】的更多相关文章

Developer Guide  |  Protocol Buffers  |  Google Developershttps://developers.google.com/protocol-buffers/docs/overview Releases · protocolbuffers/protobufhttps://github.com/protocolbuffers/protobuf/releases Protobuf语言指南 - dkcndk - 博客园http://www.cnblo…
原文地址:http://www.iclojure.com/blog/articles/2016/04/29/cocos2d-js-ajax-protobuf-nodejs-java Google的Protobuf Protobuf全称为“Protocol Buffers”,是Google开源出来的一个序列化协议并配备多种编程语言的实现(Java.C.C++.Python等,甚至JavaScript.ActionScript都有对应的实现),其本质是按照协议规范编写proto文件,该proto文件…
Protobuf语言指南 l  定义一个消息(message)类型 l  标量值类型 l  Optional 的字段及默认值 l  枚举 l  使用其他消息类型 l  嵌套类型 l  更新一个消息类型 l  扩展 l  包(package) l  定义服务(service) l  选项(option) l  生成访问类 本指南描述了怎样使用protocolbuffer语言来构造你的protocol buffer数据,包括.proto文件语法以及怎样生成.proto文件的数据访问类. 本文是一个参…
http://game.ceeger.com/forum/read.php?tid=13479 如果你的工程可以以.Net 2.0 subset模式运行,请看这个帖子中的方法. 地址:http://game.ceeger.com/forum/read.php?tid=14359&fid=27 如果只能以.Net 2.0下运行,就可以继续往下看了. ============================================================= protobuf是goog…
转自:http://blog.csdn.net/kakashi8841/article/details/17334493 前几天有位网友问我关于Unity3D里面使用Protobuf的方法,一时有事拖到现在才写这篇文章,不好意思哈. 本文测试环境: 系统:WINDOWS 7(第3.6步).OS X 10.9(第4步) 软件:VS 2012(第3.6步).Eclipse(第5.6步) 硬件:iPad 2(第4步).Macbook Pro Mid 2012(第4步) 文章目录: 1.关于Protob…
1. 安装开发环境 1.1 Netty环境 这里我使用Netty5.0.0版本 到这里下载即可http://netty.io/ 下载netty-all-5.0.0.Alpha2.jar 这个jar包简单配置一下即可使用.1.2 Protobuf环境 这个就比较麻烦了,这里说一下我的做法. 可以在这里下载最新版https://github.com/google/protobuf 或者使用 v2.6.1稳定版 https://github.com/google/protobuf/tree/v2.6.…
所需工具 : cmake  for  windows 和  git for windows 原理:protobuf 是google的一个开源项目,其源代码在github上可以下载到,并且源码都采用cmake来构建,所以我们可以把源码下载到本地,然后了利用cmake构建本地工程,然后编译. 步骤一:下载源码 复制以下代码,保存到 download_protobuf_source.bat 文件中,运行即可 ::参考文章 https://github.com/google/protobuf/blob/…
除了默认的JSON和XML序列化器外,如果想使用其它格式的(比如二进制)序列化器,也是可以的.比如著名的Protobuf和Msgpack,它们都是二进制的序列化器,特点是速度快,体积小.使用方法如下. 1.定义MediaTypeFormatter,这里以定义MsgPack的formatter为例,主要代码如下. 2.WebApiConfig中注册,代码如下. 3.客户端调用(请求头中指定Accept),在.net端调用使用HttpClient,代码如下图. 附:MessagePackMediaT…
前言: Protobuf作为数据交换格式, 被很多人喜欢. 数据压缩比高, 向后兼容性强, 性能优异, 而且对平台中性, 支持多语言(C/C++, JAVA, Python). 优点太多, 实在不胜枚举(居家旅行, 杀人放火必备良药, oh yeah! ^_^). 本篇文章着重记录Linux下对C/C++版Protobuf的编译/链接和API使用. Protobuf下载和安装 让我们使用protobuf 2.4.1作为样例来展示. 社区url: http://code.google.com/p/…
Protobuf语言指南 l  定义一个消息(message)类型 l  标量值类型 l  Optional 的字段及默认值 l  枚举 l  使用其他消息类型 l  嵌套类型 l  更新一个消息类型 l  扩展 l  包(package) l  定义服务(service) l  选项(option) l  生成访问类 本指南描述了怎样使用protocolbuffer语言来构造你的protocol buffer数据,包括.proto文件语法以及怎样生成.proto文件的数据访问类. 本文是一个参…
最近应为工作的需要,合作的部门提供了protobuf的接口,总结了一下使用的过程和方法如下: 下载protobuf-2.3.0: http://protobuf.googlecode.com/files/protobuf-2.3.0.zip 安装: unzip protobuf-2.3.0.zip cd protobuf-2.3.0 ./configure make make check make install 结果: Libraries have been installed in: /us…
环境安装 1:下载CMake 2:打开VS Command Prompt 3:修改工作目录到目标目录 cd C:\Path\to 4:创建编译完后 protobuf headers/libraries/binaries 将要安装的文件夹 C:\Path\to>mkdir install 5:确保 'cmake' 命令可用,(如果不可用确保 把它加入到 path 环境变量中) set PATH=%PATH%;D:\Program Files\cmake-3.5.2-win32-x86\bin 6:…
一.认识Protobuf ref:http://blog.csdn.net/program_think/article/details/4229773摘要:1. protobuf是一个开源项目.2. 用于把某种数据结构的信息,以某种格式保存起来.主要用于数据存储.传输协议格式.3. 优点:◇性能好/效率高◇代码生成机制◇支持“向后兼容”和“向前兼容”◇支持多种编程语言4. 缺点:◇应用不够广◇二进制格式导致可读性差,定位问题难◇缺乏自描述 使用它的最大理由应该是“代码生成”,也就是只要写好描述脚…
本节为您介绍Protobuf实现Android Socket通讯开发教程,因此,我们需要先了理一下protobuf 是什么? Protocol buffers是一种编码方法构造的一种有效而可扩展的格式的数据. 谷歌使用其内部几乎RPC协议和文件格式的所有协议缓冲区. protobuf 适用的语言 正宗(Google 自己内部用的)的protobuf支持三种语言:Java .c++和Pyton,很遗憾的是并不支持.Net 或者 Lua 等语言,但社区的力量是不容忽视的,由于protobuf确实比J…
protobuf的简单的使用,不过还留下了一个问题,那就是之前主要介绍的都是对简单数据的赋值,简单数据直接采用set_xx()即可,但是如果不是简单变量而是自定义的复合类型变量,就没有简单的set函数调用了,下面看一个简单的例子. 在网络游戏中,游戏玩家之间的同步是一个最基本的功能,而同步是通过对坐标的广播进行的,因此我们假设一个简单的模型,当一个玩家的位置发生变化时,将玩家的新位置发给地图内所有玩家,根据这个情况写出以下proto文件.   message PlayerPos{ require…
因为项目须要所以简单的研究了下protobuf.我也是參照网上的博客,所以大部分内容我也就不反复造轮子了.首先protobuf介绍点击这里,使用介绍点击这里,使用demo看这里. 我个人的第一个样例也是參照这个demo来的.只是当中我有遇到一些问题,所以揪出来说说,也就给自己做个笔记,方便查阅. 主要的东西相信大家也了解了.直接步入主题了: 1.限定修饰符介绍 required\optional\repeated,之前给定的博客已经有这个介绍了我也不多说.这里把一些小玩儿拿出来讲讲 ①.requ…
导读 1. 什么是序列化? 2. 为什么要序列化?优点在哪里? 3. C++对象序列化的四种方法 4. 最经常使用的两种序列化方案使用心得 正文 1. 什么是序列化? 程序猿在编写应用程序的时候往往须要将程序的某些数据存储在内存中,然后将其写入某个文件或是将它传输到网络中的还有一台计算机上以实现通讯.这个将程序数据转化成能被存储并传输的格式的过程被称为"序列化"(Serialization),而它的逆过程则可被称为"反序列化"(Deserialization). 简…
官方网址: https://developers.google.com/protocol-buffers/ (需要FQ) 代码仓库: https://github.com/google/protobuf  (C++) https://github.com/golang/protobuf  (Golang) https://developers.google.com/protocol-buffers/docs/gotutorial (英文版教程) 本文以下部分按照英文版教程操作(windows  …
8.1.2    Protobuf编解码开发 Protobuf的类库使用比较简单,下面我们就通过对SubscrjbeReqProto进行编解码来介绍Protobuf的使用. 8-1    Protobuf入门TestsubscrjbeReqProto package lqy7_protobuf_140; import java.util.ArrayList; import java.util.List; import com.google.protobuf.InvalidProtocolBuff…
  Protobuf的简单介绍.使用和分析   一.protobuf是什么? protobuf(Google Protocol Buffers)是Google提供一个具有高效的协议数据交换格式工具库(类似Json),但相比于Json,Protobuf有更高的转化效率,时间效率和空间效率都是JSON的3-5倍.后面将会有简单的demo对于这两种格式的数据转化效率的对比.但这个库目前使用还不是太流行,据说谷歌内部很多产品都有使用. 二.protobuf有什么? Protobuf 提供了C++.jav…
一:protobuf编码基本数据类型 public enum FieldType { DOUBLE (JavaType.DOUBLE , WIRETYPE_FIXED64 ), FLOAT (JavaType.FLOAT , WIRETYPE_FIXED32 ), INT64 (JavaType.LONG , WIRETYPE_VARINT ), UINT64 (JavaType.LONG , WIRETYPE_VARINT ), INT32 (JavaType.INT , WIRETYPE_V…
Protobuf 的优点 Protobuf 有如 XML,不过它更小.更快.也更简单.你可以定义自己的数据结构,然后使用代码生成器生成的代码来读写这个数据结构.你甚至可以在无需重新部署程序的情况下更新数据结构.只需使用 Protobuf 对数据结构进行一次描述,即可利用各种不同语言或从各种不同数据流中对你的结构化数据轻松读写. 它有一个非常棒的特性,即“向后”兼容性好,人们不必破坏已部署的.依靠“老”数据格式的程序就可以对数据结构进行升级.这样您的程序就可以不必担心因为消息结构的改变而造成的大规…
1:定义proto文件:   以一个地址薄为例,从建立一个.proto文件开始,为需要序列化的数据接口加入一个message属性,在message里面,为每一个字段指定名称和类型(算是IDL吧),如下所示: package demo; option java_package = "com.sunchao.serializer.testSerializer.protobuf"; option java_outer_classname = "PersonProto";…
一 背景 工作中临时需要使用 protobuf v3.0.2 做消息格式转换,折腾了很久才搞定,这里特意做一个记录. 二 准备工作 全程使用的电脑为公司的win7 64位旗舰版,已经预先安装VS2013和cmake3.10.2,需要注意的是,如果cmake版本过低,编译时会提示失败,需要更新的cmake版本,重新执行操作. 下载protobuf源代码,公司内网可以访问github,因此选择从github直接下载ZIP包:v3.0.2.zip,这里解压到 "D:\Documents\Program…
前言:说到JSON可能大家很熟悉,是目前应用最广泛的一种序列化格式,它使用起来简单方便,而且拥有超高的可读性.但是在越来越多的应用场景里,JSON冗长的缺点导致它并不是一种最优的选择. 一.常用序列化格式介绍 目前JAVA常用的序列化有protobuf,json,xml,Serializable,hessian,kryo.他们的优缺点如下: JSON:不多说了,用途广泛,序列化方式还衍生了阿里的fastjson,美团的MSON,谷歌的GSON等更加优秀的转码工具.优点:使用方便.缺点:数据冗长,…
Protobuf 语言指南(proto3) Protocol Buffer是Google的语言中立的,平台中立的,可扩展机制的,用于序列化结构化数据 - 对比XML,但更小,更快,更简单.您可以定义数据的结构化,然后可以使用特殊生成的源代码轻松地在各种数据流中使用各种语言编写和读取结构化数据. 定义消息类型 先来看一个非常简单的例子.假设你想定义一个“搜索请求”的消息格式,每一个请求含有一个查询字符串.你感兴趣的查询结果所在的页数,以及每一页多少条查询结果.可以采用如下的方式来定义消息类型的.p…
https://blog.csdn.net/skh2015java/article/details/78404235 原文地址:http://blog.csdn.net/lyjshen/article/details/52298003 定义一个消息类型 指定字段类型 分配标识号 指定字段规则 添加更多消息类型 添加注释 保留标识符(Reserved) 从.proto文件生成了什么? ·  标量数值类型 ·  默认值 ·  枚举 ·  使用其他消息类型 导入定义 使用proto2消息类型 ·  嵌…
引言 Retrofit 是一个用于 Android 和 Java 平台的类型安全的,底层使用OkHttp实现网络请求框架.Retrofit 通过将 API 抽象成 Java 接口而让我们连接到 REST web 服务变得很轻松. RxJava 提供一套异步编程的 API,这套 API 是基于观察者模式的,而且是链式调用的. Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化.它很适合做数据存储或 RPC 数据交换格式. 主要讲解如何使用各…
一.什么是ProtoBuf protocolbuffer(以下简称PB)是google 的一种数据交换的格式,它独立于语言,独立于平台.它是一种类似于xml.json等类似作用的交互格式.由于它是一种二进制的格式,比使用 xml 进行数据交换快许多. google 提供了多种语言的实现:java.c#.c++.go 和 python,每一种实现都包含了相应语言的编译器以及库文件.可以把它用于分布式应用之间的数据通信或者异构环境下的数据交换. 作为一种效率和兼容性都很优秀的二进制数据传输格式,可以…
官网:https://github.com/google/protobuf 环境:windows,java 1. protobuf概述protobuf是Google开发一种数据描述格式,能够将结构化数据序列化,可用于数据存储,通信协议等方面.protobuf是以二进制来存储数据的.相对于JSON和XML具有以下优点:- 简洁- 体积小:消息大小只需要XML的1/10 ~ 1/3- 速度快:解析速度比XML快20 ~ 100倍- 使用protobuf的编译器,可以生成更容易在编程中使用的数据访问代…