首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

google-protobuf使用详解

0、什么是protoBuf

protoBuf是一种灵活高效的独立于语言平台的结构化数据表示方法,与XML相比,protoBuf更小更快更简单。你可以用定义自己protoBuf的数据结构,用ProtoBuf编译器生成特定语言的源代码,如C++,Java,Python等,目前protoBuf对主流的编程语言都提供了支持,非常方便的进行序列化和反序列化。

特点:

平台无关、语言无关。

二进制、数据自描述。

提供了完整详细的操作API。

高性能 比xml要快20-100倍

尺寸小 比xml要小3-10倍 高可扩展性

数据自描述、前后兼容

1、下载protobuf的编译器

目前最新版本为Protocol Buffers v3.5.1

https://github.com/google/protobuf/releases

2、配置环境变量

解压

Mac 配置环境变量 使其配置生效

Window 将bin添加到path 即可 例如:

Macwindow命令唯一的区别就是需要将改成 前提是需要添加环境变量。

3、编写一个proto文件

文件保存为 此文件摘自t-io 让天下没有难开发的网络编程

4、编译器对其进行编译4.1 编译为Java

进入到项目的包目录执行以下编译命名

4.2 编译为JS

执行后会在当前文件夹中生成 文件,这里面就是的API和一些函数。如果是 就可以直接使用了,如果想在浏览器(前端)中使用还需要做一些处理。

5、前端使用protobuf处理步骤5.1 npm安装需要的库

在文件的同级目录下安装引用库

5.2 使用browserify对文件进行编译打包

编写脚本保存为exports.js

执行命令对文件进行编译打包生成后就可以愉快的使用了。

6、protobuf使用示例6.1 前端(JavaScript)中使用protobuf

6.2 Java中使用protobuf

java中要用protobuf,protobuf与json相互转换,首先需要引入相关的jar,maven的pom坐标如下

6.3 QQ玩一玩中使用protobuf

将中的修改为

6.4 Eget中使用protobuf插件下载

egret有提供将生成JS以及TS的工具

操作步骤

1、在白鹭项目的根目录中新建文件夹,再在文件夹中新建文件夹

2、将文件放到文件夹中

3、依次执行、

将会自动完成以下操作:

1、在中的节点中添加

2、在中的节点添加

3、在文件夹中自动生成以及文件夹里面包含了我们需要的js以及ts

项目中能使用

处理发送消息

处理接收消息

到这里如何使用protobuf就介绍完了,个人能力有限如有错误欢迎指正。你有更好的解决方案或者建议欢迎一起交流讨论,如有疑问欢迎留言。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180611G07WDX00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券