1、格式化码流编解码组件迅雷软件架构师王 卫 华主 要 内 容u概述u如何使用本组件u组件组成u编译器 主 要 内 容u概述u如何使用本组件u组件组成u编译器 概述概述3u 实现格式化 (结构化 )数据灵活、高效地自动化编解码u 跨 Linux/Windows平台u 服务器和客户端共用一份代码,极大提高研发效率u 良好的前后兼容性u 命名空间为 xl:component:format_stream 特性4应用领域u网络通讯命令解析u格式化数据存储5支持的数据种类uuint8/sint8uuint16/sint16uuint32/uint32uuint64/sint64ufloat32/float6
2、4uStringu自定义结构 (message)6u 所有的通讯命令中,前 3个域必须为命令版本、命令序号、命令长度,且 “命令长度 ”域指该域后所有数据长度,这 3个域都是uint32数据类型,各占 4各字节,计 12个字节u 对于通讯命令中的自定义结构,在编码时需要在这个自定义结构前添加 4个字节,表示该自定义结构所占的字节,解密时要处理这 4个添加的字节重申通讯命令编码规范7为了保证组件前后的兼容性,组件有两个限制u 通讯命令中的域只能增加,不能减少 u 新增加的域放在最后 组件的限制8主 要 内 容u概述u如何使用本组件u组件组成u编译器 如何使用本组件如何使用本组件9Linux平台u makefile中添加路径 /usr/local/umakefile中包括库 libxl_format_stream.so、libxl_lib.so,由于依赖关系,库的顺序不要颠倒 10