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 即可 例如:
Mac与window命令唯一的区别就是需要将改成 前提是需要添加环境变量。
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就介绍完了,个人能力有限如有错误欢迎指正。你有更好的解决方案或者建议欢迎一起交流讨论,如有疑问欢迎留言。
领取专属 10元无门槛券
私享最新 技术干货