protocol-buffer

目录
  1. protocol-buffer简介
  2. 使用方式
  3. 应用举例:

protocol-buffer简介

protocolbuffer(以下简称PB)是google 的一种数据交换的格式,它独立于语言,独立于平台。google 提供了多种语言的实现:java、c#、c++、go 和 python,每一种实现都包含了相应语言的编译器以及库文件。由于它是一种二进制的格式,比使用 xml 进行数据交换快许多。可以把它用于分布式应用之间的数据通信或者异构环境下的数据交换。作为一种效率和兼容性都很优秀的二进制数据传输格式,可以用于诸如网络传输、配置文件、数据存储等诸多领域。

一般c/s模式下的数据传输方式主要有xml(可读性好,但是带宽高),json(可读性次于xml,但是带宽优于xml), 二进制(需要c/s通信双方约定传输的数据格式,可读性差,但是带宽最低)。protocol-buffer则属于二进制方式,其相比xml及json的优势是传输效率更高。

使用方式

  1. 下载protocol-buffer源码,搭建使用环境;详情参考

Protocol Buffers - Google’s data interchange format

  1. 定义.proto文件
  2. 编译 .proto 文件,将生成.pb.h 和.pb.cc两个文件
  3. 利用.pb.h中生成的对象及方法 编写 writer 和 Reader

参考: Google Protocol Buffer 的使用和原理

应用举例:

使用protocol-buffer在C/S通信中传递信息,能够将信息进行格式化(发生端对消息进行Serialize,接收端进行DeSerialize,还原消息很方便),一个使用protocol-buffer进行tcp socket通信的例子如下:
Protocol Buffer over socket in C++

本站总访问量