Protocol Buff

高性能网络通信的好帮手,Google 家的Protocol Buffers(简称protobuf)用起来真的挺香的。数据一转二进制,体积一下就小了不少,传输速度也快。你只要写个.proto文件,字段和类型一写,编译器就给你生成各种语言的代码,直接拿来序列化、反序列化都方便。

.proto 文件的结构还蛮直观的,就像在写接口文档,定义完字段编号,后续版本兼容也有保障。你想升级字段?加字段就行,老代码还能读新数据,基本不用动太多逻辑,开发效率直接拉满。

实际用下来,protobuf适合跟gRPC搭配用,做微服务通信那叫一个顺滑,响应快、格式严谨,还有代码自动生成工具,写接口不再头大。比如你写一个服务接口传消息,就几行代码搞定。

message User {
  string name = 1;
  int32 age = 2;
}

你编译完,在 JS、Python 甚至 Go 语言里,都能轻松调用user.encode()user.decode()来转二进制或还原数据,写起来真的蛮省心。

哦对了,protobuf.js对前端也友好,浏览器里也能搞序列化,用在 WebSocket 或者本地存储都挺适合的。如果你是搞前后端通信的,或者移动端和服务端对接的,强烈建议上手看看。

如果你常用的是 XML 或 JSON,不妨试试protobuf,写法不复杂,性能却能提升一截,适合对带宽或解析速度比较敏感的场景。

zip
Fundamentals.ProtoBuf.4.0.01.zip 预估大小:20个文件
folder
Fundamentals.ProtoBuf.4.0.01 文件夹
folder
Utils 文件夹
file
cDynArrays.pas 312KB
file
cUtils.pas 240KB
file
cDefines.inc 32KB
file
cStrings.pas 1.22MB
folder
License 文件夹
file
License.txt 2KB
folder
ProtocolBuffers 文件夹
folder
Examples 文件夹
file
TestImport1.proto 78B
file
ProtoTest1.dpr 359B
file
pbTest1Messages.pas 28KB
file
pbTestImport1Messages.pas 2KB
file
ProtoTest1.dproj 4KB
file
Test1.proto 2KB
file
cProtoBufProtoCodeGenPascal.pas 48KB
folder
CodeGenApp 文件夹
file
ProtoCodeGen.dproj 5KB
file
ProtoCodeGen.dpr 3KB
file
cProtoBufProtoParserSelfTest.pas 701B
file
cProtoBufProtoNodes.pas 36KB
file
cDefines.inc 32KB
file
cProtoBufProtoParser.pas 33KB
file
cProtoBuf.inc 171B
file
cProtoBufUtils.pas 59KB
zip 文件大小:232.46KB