当前位置: 首页 > article >正文

mudo服务器测试一

目录

长连接测试

测试代码

客户端

服务端

超时连接测试

测试代码

客户端

服务端

错误请求测试

测试代码

场景一

客户端

服务端

场景二

客户端

服务端


长连接测试

测试代码

/*长连接测试1: 创建一个客户端持续给服务器发送数据,直到超过时间看是否正常*/
#include "../source/server.hpp"

int main()
{
    Socket cli_sock;
    cli_sock.CreateClient(8080, "127.0.0.1");
    std::string req = "GET /hello HTTP/1.1\r\nConnection: keep-alive\r\nContent-Length: 0\r\n\r\n";
    while (1)
    {
        assert(cli_sock.Send(req.c_str(), req.size()) != -1);
        char buf[1024] = {0};
        assert(cli_sock.Recv(buf, 1023));
        DBG_LOG("[%s]", buf);
        sleep(3);
    }
    cli_sock.Close();
    return 0;
}

客户端

服务端

超时连接测试

测试代码

/*超时连接测试1: 创建一个客户端,给服务器发送一次数据后,不动了,查看服务器是否会正常的超时关闭连接*/
#include "../source/server.hpp"

int main()
{
    Socket cli_sock;
    cli_sock.CreateClient(8080, "127.0.0.1");
    std::string req = "GET /hello HTTP/1.1\r\nConnection: keep-alive\r\nContent-Length: 0\r\n\r\n";
    while (1)
    {
        assert(cli_sock.Send(req.c_str(), req.size()) != -1);
        char buf[1024] = {0};
        assert(cli_sock.Recv(buf, 1023));
        DBG_LOG("[%s]", buf);
        sleep(15);
    }
    cli_sock.Close();
    return 0;
}

客户端

服务端

未发送服务端数据测试

错误请求测试

测试代码

//错误请求测试
/*给服务器发送一个数据,告诉服务器要发送1024字节的数据,但是实际发送的数据不足1024,查看服务器处理结果*/
/*
    1. 如果数据只发送一次,服务器将得不到完整请求,就不会进行业务处理,客户端也就得不到响应,最终超时关闭连接
    2. 连着给服务器发送了多次 小的请求,  服务器会将后边的请求当作前边请求的正文进行处理,而后便处理的时候有可能就会因为处理错误而关闭连接
*/

#include "../source/server.hpp"

int main()
{
    Socket cli_sock;
    cli_sock.CreateClient(8080, "127.0.0.1");
    std::string req = "GET /hello HTTP/1.1\r\nConnection: keep-alive\r\nContent-Length: 100\r\n\r\nqingfengyugu";
    while (1)
    {
        assert(cli_sock.Send(req.c_str(), req.size()) != -1);
        //assert(cli_sock.Send(req.c_str(), req.size()) != -1);
        //assert(cli_sock.Send(req.c_str(), req.size()) != -1);
        char buf[1024] = {0};
        assert(cli_sock.Recv(buf, 1023));
        DBG_LOG("[%s]", buf);
        sleep(3);
    }
    cli_sock.Close();
    return 0;
}

场景一

        数据只发送一次,服务器将得不到完整请求,就不会进行业务处理,客户端也就得不到响应,最终超时关闭连接

客户端

服务端

场景二

        连着给服务器发送了多次小的请求,服务器会将后边的请求当作前边请求的正文进行处理,而后便处理的时候有可能就会因为处理错误而关闭连接

客户端

服务端

后续再进行别的测试


http://www.kler.cn/a/272566.html

相关文章:

  • Android系统开发(一):AOSP 架构全解析:开源拥抱安卓未来
  • 1.6 从 GPT-1 到 GPT-3.5:一路的风云变幻
  • 【21】Word:德国旅游业务❗
  • Redis 中 TTL 的基本知识与禁用缓存键的实现策略(Java)
  • RV1126+FFMPEG推流项目(9)AI和AENC模块绑定,并且开启线程采集
  • mac 安装 node
  • 关于MySQL数据库的学习3
  • 【深度学习】diffusers 学习过程记录,StableDiffusion扩散原理
  • 海豚调度系列之:认识海豚调度
  • Git一点通
  • lua profile 性能分析工具都有哪些
  • ISIS多区域实验简述
  • Vue工程化基础
  • Debug追踪
  • LeetCode 热题100专题解析:哈希与双指针
  • 【力扣白嫖日记】262.行程和用户
  • 《深入解析 C#》—— C# 2 部分
  • SAP ABAP read table 时关键字TRANSPORTING NO FIELDS的用法
  • 如何用shell脚本构建Android模块
  • 整型溢出问题及解决之道
  • 一直出现问题,发现服务器磁盘空间已满导致,腾出服务器磁盘空间命令
  • 【Linux下qt软件安装打包附带问题: dpkg: error processing package xxxx +解决方式+自我尝试+记录】
  • 深度学习pytorch——Tensor维度变换(持续更新)
  • Linux怎么查看当前进程?怎么执行退出?怎么查看当前路径?
  • 【Kubernetes】k8s删除master节点后重新加入集群
  • AI换脸软件rope最新更新的蓝宝石中文版下载