如果服务器和客户端都是用C++语言写的就可以用序列化方法将数据存放到流或文件中
使用序列化C++设计消息协议具有以下优点:
1、用序列化方法还可以进行存盘和读盘,还可以进行版本控制
2、用序列化方式安全性会比reintepret_cast更高,也不用考虑大小端对齐之类的问题
3、与原始C结构体相比可以脱离pod类型的限制定义非常复杂的类,传输复杂的数据
缺点:
1、服务器和客户端语言都需要使用C++
以下是用boost序列化库写的一个例子:
可以用boost自带的serialization::a