ProtocolBuffer是一种数据传输协议,与json,xml不同的是:protocol buffer传输的数据不可读,只有机器才理解,也就是说不是自解释型的。
他的特点是小巧、解析快,原因是:传输方按照约定好的顺序与位数只传输数据,不传结构。比如说两方约定好,第一部分是,用户的姓名,第二部分是性别,第三部分是年龄,这样传输的数量量就小很多了。并且,直接把内容赋值给对方,减轻了解析这一步的负担。
ProtocolBuffer的协议是定义在.proto为扩展名的文件中的。
ProtocolBuffer的协议目前是第三版。
ProtocolBuffer对PHP只支持linux,对于windows下没有dll库
ProtocolBuffer的支持javascript,
javascript解析ProtocolBuffer有三个库,
1.Google官方 npm install --save google-protobuf
2.dcode.io/protobuf.js npm install protobufjs 地址:https://github.com/dcodeIO/ProtoBuf.js
3.mafintosh/protocol-buffers npm install protocol-buffers 地址:https://github.com/mafintosh/protocol-buffers
网上相关文档中使用第二种的较多。由于protobufjs版本不同,写法也有些不同,使用时需要注意一下。protobufjs:6.7.3
pb语法文件以"*.proto"为文件扩展名。在版本proto3文件头需要包含版本类型“syntax = "proto3";”,缺省情况为proto2类型。
Node.js使用google-protobuf(官方版本)
在NodeJS中玩转Protocol Buffer(dcode.io/protobuf.js )
领取专属 10元无门槛券
私享最新 技术干货