读书人

Protobuf解决办法

发布时间: 2013-09-12 22:07:04 作者: rapoo

Protobuf
最近要把现有的一个C/S软件重做,想用protobuf
现在的结构
Server--网络通信---Client—ata)---动/静态链接库---UI

想在server和client数据层通信中用protobuf 提高客户端和服务器的兼容性(不同版本之间)
然后在client数据层和UI之间用protobuf 数据层使用C++实现,希望通过动态链接库的形式,支持多种语言实现的UI

有些问题:
1. 现在有大量数据结构体(各种嵌套),移植成protobuf感觉有难度,而且现在的结构体不只是数据,还有很多方法/接口,如果用proto表示,感觉会没以前好用;
2. protobuf生成的结构体会比直接定义稍大,必定比之前的软件更占内存,这个问题可以解决么?
3. C/S之间会有大量数据交换(通过网络),如果上了protobuf,增加了序列化/反序列化的过程,会不会对效率有明显影响?

请大神们帮忙分析下可行性,我打开的方式对不对
[解决办法]
service 主要用在RPC服务中,可以理解为函数。但是,这部分没有开源,所以我没有使用过。
[解决办法]
protobuf的可扩展性需要根据业务设计,主要是用数组结构保证扩展性。

xml本身就是可扩展的,在标准协议节下添加其他节对于应用是完全透明的,不需停机变更二进制。

读书人网 >C++

热点推荐