Thanks to visit codestin.com
Credit goes to Github.com

Skip to content

flyman150/gitlib

Repository files navigation

TCP客户端项目

这是一个基于C++的TCP客户端实现,支持多客户端并行连接和自动重连功能。

功能特点

  • 支持多客户端并行连接(默认10个客户端)
  • 自动重连机制(断开后3秒重试)
  • 连接状态回调
  • 支持发送消息
  • 优雅的启动和停止机制
  • 完整的单元测试覆盖

编译要求

  • CMake 3.10或更高版本
  • C++11兼容的编译器(如GCC 4.8+)
  • Google Test框架

快速开始

方法一:使用构建脚本(推荐)

  1. 给构建脚本添加执行权限:
chmod +x build.sh
  1. 运行构建脚本:
./build.sh

构建脚本会自动:

  • 检查必要的依赖是否安装
  • 清理旧的构建文件
  • 重新生成构建文件
  • 编译项目
  • 显示可执行文件位置和运行说明

方法二:手动构建

  1. 创建构建目录:
mkdir build
cd build
  1. 生成构建文件:
cmake ..
  1. 编译项目:
make

运行

编译完成后,在build目录下运行:

./tcp_client

运行测试

在build目录下运行:

./tcp_client_test

测试用例说明

项目包含以下测试用例:

  1. 基本功能测试

    • 客户端创建和销毁
    • 连接状态回调
    • 消息发送功能
    • 自动重连机制
    • 多客户端并发
    • 客户端状态管理
  2. 测试覆盖范围

    • 接口可用性
    • 错误处理
    • 并发处理
    • 资源管理
    • 状态转换

使用说明

  1. 程序启动后会自动创建10个客户端实例并尝试连接服务器(默认地址:127.0.0.1:8888)
  2. 每个客户端都会显示其连接状态变化
  3. 每个客户端会每2秒自动发送一条消息
  4. 按回车键可以优雅地停止所有客户端

注意事项

  • 确保服务器端已经启动并监听在指定端口
  • 默认连接本地服务器(127.0.0.1:8888),如需修改请更改main.cpp中的SERVER_IP和SERVER_PORT
  • 默认创建10个客户端,如需修改客户端数量,请更改main.cpp中的CLIENT_COUNT
  • 运行测试前请确保已安装Google Test框架

About

gtifile20160415

Resources

Stars

Watchers

Forks

Packages

No packages published