消息的封装方式有多中,比如xml,json等,但是我依然觉得使用拼数据的方式最简单,也最节省带宽。比如我们处理一个逻辑就可以这样处理了:
int cast_net(messageblock &mb)
{
int area_id,lvl;
mv >> area >> lvl;
//逻辑处理
//....
messageblock re_mb;
re_mb << item_id << item_sum;
return this->respond_to_client(re_mb);
}
在之前公司的时候,使用的是ace的ace_message_block,来到了新的公司,重新封装了ace_message_block。 很多地方学习了ace的设计。比如 wr_ptr(),rd_ptr()等。
messageblock.h 文件
/*
messageblock.cpp文件
需要说明的几点:
1. linux服务器一般都是小端的设计,但是flash在使用bytearray的时候就要注意大端小端的使用了。
2. 这样的类不是一次能设计好的,需要在后续的开发过程中持续的改进。