也许只要有重复的代码,就可以复用
封装tcp服务端和客户端的好处,不用写重复的代码,SMPP的客户端,对Web的服务端,对XXX的XX端...都不用重复写一堆服务端和客户端的代码。调用经过验证的服务端客户端组件,代码简短,正确性有保证
那么这封装的功能,接口是什么?1.回调函数IHANDLE 2.带缓存的socket对象CResult
所有的服务器和客户端,处理的不同之处,就是对收到数据的处理,所以用回调函数剥离不同的部分
功能设计:
1.socket扩展对象CResult
CResult = 一个socket + 该socket的已发和已收收据 + 发数据的动作 + 取socket各种属性的操作
2.ThreadHandle线程对象,管理n个CResult
负责缓存分配回收,CResult的socket收发数据处理,调用回调函数处理收发数据
3.PollFactory
负责建立服务端或者客户端,让成员对象threadhanle处于工作状态,让新的socket分配给threadhandle进行处理
4.调用的方法
应用类的成员PollFactory对象设置回调函数,然后启动PollFactory则可。实现了一堆代码的复用,回调函数剥离不重复的部分。