逐步实现TCP服务端Step03-5:与Message相关的类

目前与消息相关的有如下三个东西,一个结构和两个函数,现在要做的是把它们组装到一起。

从上图可知,现在的消息结构只支持字符串,为了让其更实用,需要增加对二进制数值的支持。支持二进制数值(int,short等)就意味着要实现多个版本的Encode和Decode方法,可以把这些方法放到单独的类中供消息类使用。另外,消息应该具备诸如ID,类型(Request、Response、Notify等)、时间戳之类的属性,至少应该有ID,不然,后台如何对不同消息做针对性的处理呢。消息类应由“消息头”和“消息体”两个类组成,“消息头”维护消息属性,“消息体”维护实际内容。

整理一下要做的事情

  • 封装一个消息类:Message
  • 封装一个专门提供消息编解码服务的类:Codec
  • 封装消息头和消息体类:MessageHead、MessageBody

<==  index  ==>