逐步实现TCP服务端Step03:整理、封装

经逐步改进,当前的后台程序的形式为两个进程,一个负责通信,另一个负责处理业务。二者基于共享内存机制通信。这两个进程均为单线程。

这些实现都是使用面向过程的方式,到处散布着全局变量(如用于接收和投递的buffer)和全局函数。目前,程序所处理的仅仅是单个客户的情况,如果要并发处理多个客户,那就意味着要为每个客户都准备一套变量,处理起来将会非常繁琐。

应重新组织代码,对相关函数和变量进行封装。容易想到下面几个主要的类,在实现时,名字可能会略有不同。另外,还会有一些其它的类,这个在后面用到的时候再讨论。

  • TCPSocket:封装与socket相关的一些操作,这是最基本的。
  • SharedMemory、SHMFactory:专门管理共享内存。
  • CodeQueue:code队列。
  • Message:维护消息数据,提供编解码操作。
  • MessageQueue:消息队列。code被解码后变为消息对象,消息对象缓存于消息队列,以供取用。

<==  index  ==>