11、TCP通信框架:客户端设计
① TCP通信框架设计:封装、复用
- 客户端
- 以协议消息为基本单位收发数据
- 同时支持字节为基本单位收发数据
- 服务端
- 负责监听连接,并产生通信客户端(服务器产生的)
- 负责监听数据通信状态,并给出通知
② 职责定义(功能定义)
- 客户端用于进行实际的双向数据通信
- 数据发送&数据接收(协议消息、字节)
- 服务端仅用于监听和回调通知
- 事件类型:连接,数据,断开
- 事件回调: void (*Listener)(TcpClient*client, int event);
③ 客户端接口设计
④ 客户端关键代码实现
⑤ 编程实验:客户端设计与实现
代码与下一节合并
12、TCP通信框架:服务端设计
① TCP通信框架设计
- 服务端
- 负责监听连接状态
- Connect:产生通信客户端(TcpClient),并给出事件通知
- Close:给出事件通知,并销毁通信客户端
- 负责监听数据通信状态,并给出事件通知
- 负责监听连接状态
- 服务端事件设计
- EVT_CONN
- 客户端连接服务端时触发,并创建TcpClient用于通信
- EVT_DATA
- 客户端数据到达服务端时触发,使用TcpClient读取数据
- EVT_CONN