# TCP模块 这个项目实现了一个用于网络通信的TCP模块,提供了服务器和客户端功能。 在网络编程中,套接字(socket)是一个用于网络通信的端点。在客户端和服务器模型中,客户端会创建一个套接字来与服务器建立连接,而服务器则监听来自客户端的连接请求。一旦连接建立,客户端和服务器就可以通过各自的套接字进行数据的发送和接收。 # 涉及的知识 * 网络通信 * 多线程处理 * 回调函数 * C++/C * I/O多路复用 * 套接字编程 * TCP协议 * 事件循环 # 各文件的作用 * **TcpModule.h**:定义了TCP模块的公共接口和数据结构,包括服务器和客户端参数结构体、回调函数类型等。 * **TcpModule.cpp**:实现了TcpModule.h中定义的接口,包括创建和释放TCP服务器和客户端的函数。 * **ITcpClient.h/ITcpClient.cpp**:定义和实现了TCP客户端接口,包括初始化、读取数据、写入数据和关闭连接等虚函数。 * **ITcpServer.h/ITcpServer.cpp**:定义和实现了TCP服务器接口,包括初始化、关闭服务器等虚函数。 * **TcpClientImpl.h/TcpClientImpl.cpp**:实现了ITcpClient接口,是TCP客户端的具体实现。 * **TcpServerImpl.h/TcpServerImpl.cpp**:实现了ITcpServer接口,是TCP服务器的具体实现。 * **TcpModuleMakePtr.h/TcpModuleMakePtr.cpp**:提供了创建TCP服务器和客户端实例的工厂方法。 * **TcpServerHandle.h/TcpServerHandle.cpp**:管理TCP服务器的实例,提供了添加和获取服务器实例的方法。 * **TcpClientAcceptImpl.h/TcpClientAcceptImpl.cpp**:实现了ITcpClientAccept接口,处理客户端连接的接受和数据交换。