这是一个基于C++的TCP客户端实现,支持多客户端并行连接和自动重连功能。
- 支持多客户端并行连接(默认10个客户端)
- 自动重连机制(断开后3秒重试)
- 连接状态回调
- 支持发送消息
- 优雅的启动和停止机制
- 完整的单元测试覆盖
- CMake 3.10或更高版本
- C++11兼容的编译器(如GCC 4.8+)
- Google Test框架
- 给构建脚本添加执行权限:
chmod +x build.sh- 运行构建脚本:
./build.sh构建脚本会自动:
- 检查必要的依赖是否安装
- 清理旧的构建文件
- 重新生成构建文件
- 编译项目
- 显示可执行文件位置和运行说明
- 创建构建目录:
mkdir build
cd build- 生成构建文件:
cmake ..- 编译项目:
make编译完成后,在build目录下运行:
./tcp_client在build目录下运行:
./tcp_client_test项目包含以下测试用例:
-
基本功能测试
- 客户端创建和销毁
- 连接状态回调
- 消息发送功能
- 自动重连机制
- 多客户端并发
- 客户端状态管理
-
测试覆盖范围
- 接口可用性
- 错误处理
- 并发处理
- 资源管理
- 状态转换
- 程序启动后会自动创建10个客户端实例并尝试连接服务器(默认地址:127.0.0.1:8888)
- 每个客户端都会显示其连接状态变化
- 每个客户端会每2秒自动发送一条消息
- 按回车键可以优雅地停止所有客户端
- 确保服务器端已经启动并监听在指定端口
- 默认连接本地服务器(127.0.0.1:8888),如需修改请更改main.cpp中的SERVER_IP和SERVER_PORT
- 默认创建10个客户端,如需修改客户端数量,请更改main.cpp中的CLIENT_COUNT
- 运行测试前请确保已安装Google Test框架