protobuf介绍
由于网上关于protobuf的交互的资料比较零散,所以自己整理了一下关于protobuf前后端交互的资料,以作参考。
Google Protocol Buffers 简称 Protobuf,它提供了一种灵活、高效、自动序列化结构数据的机制,可以联想 XML,但是比 XML 更小、更快、更简单。仅需要自定义一次你所需的数据格式,然后用户就可以使用 Protobuf 编译器自动生成各种语言的源码,方便的读写用户自定义的格式化的数据。与语言无关,与平台无关,还可以在不破坏原数据格式的基础上,依据老的数据格式,更新现有的数据格式。
前后端交互方式
前后端都是以二进制形式进行交互信息。前后端定义proto后缀的文件,以此文件来当文档来进行沟通。
protobuf文件形式
以下为protobuf文件的demo,test.proto,文件的结构确实简单明了。
enum FOO {
BAR = 1;
}
message Test {
required float num = 1;
required string payload = 2;
optional string payloads = 3;
}
message AnotherOne {
repeated FOO list = 1;
}
前后端进行protobuf的环境安装
后端以node为例子:
安装bufferhelper以及protocol-buffers进行解析protobuf文件
npm install bufferhelper
npm install protocol-buf