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

[项目][WebServer][Task]详细讲解

目录

  • 1.Task类
  • 2.CallBack类


1.Task类

class Task
{
public:void ProcessOn(){_handler(_sock);}Task(){}Task(int sock): _sock(sock){}~Task(){}
private:int _sock;CallBack _handler; // 设置回调
};

2.CallBack类

  • 读取出错处理
    • 读取请求时可能出错,此时读取到的请求是一个错误请求,那么就没有往下解析执行的必要了,故在RecvRequest()返回之后,做以下设计
      ep->RecvRequest();
      if(!ep->IsStop()) // 只有读取请求不出错,才往下执行
      {LOG(INFO, "Recv No Error, Continue Build And Send");ep->BuildResponse();ep->SendResponse();
      }
      else
      {LOG(WARNING, "Recv Error, Stop Build And Send");
      }
      
struct CallBack
{// 重载() --> 仿函数void operator()(int sock){HandlerRequest(sock);}void HandlerRequest(int sock){LOG(INFO, "Hander Request Begin");EndPoint *ep = new EndPoint(sock); // TODOep->RecvRequest();if(!ep->IsStop()) // 只有读取请求不出错,才往下执行{LOG(INFO, "Recv No Error, Continue Build And Send");ep->BuildResponse();ep->SendResponse();}else{LOG(WARNING, "Recv Error, Stop Build And Send");}delete ep; LOG(INFO, "Hander Request End");}CallBack(){}~CallBack(){}
};

http://www.mrgr.cn/news/27820.html

相关文章:

  • macbook git 设置和远程克隆项目
  • 贝叶斯网络——基于概率的图模型(详解)
  • Android音视频直播低延迟探究之:WLAN低延迟模式
  • 10-顺序图建模测试
  • sanitize-html 防止 XSS(跨站脚本攻击)
  • 一键抠图:免费安全的在线图片去除背景工具
  • 从汇编语言到高级语言:人类计算机科学的伟大探索
  • 网络原理 IP协议与以太网协议
  • 2024ICPC网络赛第一场
  • 蒸!--数据在内存中的存储
  • 408算法题leetcode--第五天
  • Cubieboard2(五) 安装无线网卡驱动
  • 软考中级网络工程师——第十二章
  • asio中的handler
  • 基于ssm+vue+uniapp的智能停车场管理系统小程序
  • 【数据结构与算法 | 每日一题 | 力扣篇】力扣1184
  • 滚雪球学SpringCloud[3.3讲]:Resilience4j:现代化的容错处理详解
  • Java 入门指南:JVM(Java虚拟机)—— 双亲委派模型(Parent Delegation Model)
  • Redis基础数据结构之 quicklist 和 listpack 源码解读
  • 请求响应-05.请求-日期参数JSON参数
  • 3286、穿越网格图的安全路径
  • node express 开启多进程
  • C/C++内存管理
  • Sprie for .net8.0填报项目验收材料
  • (批处理)设置延时+设置关机倒计时
  • 【Linux】多路转接epoll