Socket开发探秘--基于Json格式的数据协议收发
摘要:
前面发表过两篇随笔:《Socket开发探秘--基类及公共类的定义》和《Socket开发探秘--数据封包和拆包》,介绍了Socket方面的开发。本文继续探讨使用Json格式来作为Socket收发协议方面的技术问题。
前面说到,收到的Socket数据经过粗略的解析后,就是PreData类型的数据,这个是通用的数据格式,我们需要进一步处理才能转化为所能认识的数据对象(实体类对象),同样,我们发送数据的时候,内容部分肯定是按照一定协议规则串联起来的数据,那么我们就需要把实体转化为发送的数据格式。综上所述,我们通过实体类,必须实现数据的发送和读取的转换。
由于数据的封包拆包是一个繁琐的过程,代码重复性比较多,而且也容易出错。前面介绍过设计一个基类,我们把所有对数据的拆包和封包,利用反射机制,减少我们的代码量,提高代码的优雅性。 但是后来有人建议,可能使用Json格式的数据内容可能更好,确实,如果是采用以|分割符号的内容,有一个缺点,就是数据内容比较难懂(有时候我们还是需要分析数据包的),Json会更易读一些。 另外,使用Json可以脱离字段顺序的关系,可以向后兼容一些历史的协议,例如首次定 阅读全文
posted @ 2010-01-26 19:59 伍华聪 阅读(21223) 评论(3) 推荐(2) 编辑