之前写过一篇python序列化反序列化的文章(http://blog.csdn.net/q_yang1987/article/details/52194860),最近为这个协议实现了一个lua版本,用这个练手感觉对初学lua的我来说很有价值,本文记录一下这个库的实现细节:
- 使用
使用时需要先定义Protocol协议结构:
local Proto = require("proto2") local Phone = Proto.Protocol:new({ {"number", Proto.String}, {"money", Proto.UINT32}, }) local Person = Proto.Protocol:new({ --{"header", Proto.Header}, {"uid", Proto.UINT32}, {"age", Proto.UINT16}, {"phone_count", Proto.UINT8}, {"phone", Proto.List:new("phone_count", Phone)}, })
Proto.Protocol:new出来的是protocol对象,使用的时候需要由Protocol对象生成对应的Message&#