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

寮步营销型网站建设网站搜索引擎优化方案的案例

寮步营销型网站建设,网站搜索引擎优化方案的案例,企业网站内容是什么,oa软件下载一、项目模块设计思路 目的:实现HTTP服务器搭建 思想:设计请求路由表,记录请求方法与对应业务的处理函数映射关系。用户实现请求方法和处理函数添加到路由表,服务器只接受请求并调用用户的处理函数即可。 处理流程: …

一、项目模块设计思路

目的:实现HTTP服务器搭建

思想:设计请求路由表,记录请求方法与对应业务的处理函数映射关系。用户实现请求方法和处理函数添加到路由表,服务器只接受请求并调用用户的处理函数即可。

处理流程:

二、成员变量

定义请求处理函数,作用是给我请求对象,我处理后返回应答对象

using Handler = function<void(const HttpRequest &, HttpResponse *)>;

using Handlers = vector<std::pair<regex, Handler>>; // 匹配的是资源路径的正则表达式来对应处理函数

定义四个请求方法对应的请求处理函数的路由表

Handlers _get_route;

Handlers _post_route;

Handlers _put_route;

Handlers _delete_route;

定义高并发服务器:TcpServer _server;

静态资源的相对根目录:string _basedir;

三、成员函数

1、私有函数1:错误信息填充 void ErrorHandler(const HttpRequest &req, HttpResponse *rsp)

填充应答正文的 html 错误网络页面,并设置正文类型是 html

2、私有函数2:组织应答报文并发送 void WriteResponse(const PtrConnection &conn, const HttpRequest &req, const HttpResponse &rsp)

(1)完善应答报头:Connection, Context-Length, Context-Type, Location

(2)组织应答报文:应答行 + 应答报头 + 空行 + 应答正文

(3)发送

3、私有函数3:判断是否是静态资源请求 bool IsFileHandler(const HttpRequest &req)

(1)是否设置了静态资源根目录

(2)请求方法是否是 GET 或 HEAD

(3)资源路径是否合法

(4)要求资源路径必须存在并且是普通文件(如果请求目录后面加上 index.html 再判断是不是普通文件)

4、私有函数4:静态资源请求处理 void FIleHandler(const HttpRequest &req, HttpResponse *rsp)

(1)先把请求中的相对资源路径加上静态资源根目录,如果请求目录后面加上 index.html

(2)将绝对路径中的文件读入 rsp 的正文中

(3)设置正文的类型

5、私有函数5:功能性请求处理 void Dispatcher(const HttpRequest &req, HttpResponse *rsp, Handler &handlers)

循环遍历路由表里面的正则资源路径,如果匹配就执行对应的处理函数,找不到应答状态码404

6、私有函数6:总处理请求 void Route(HttpRequest &req, HttpResponse *rsp)

(1)如果是静态资源请求就调静态处理函数

(2)如果请求方法是 GET / HEAD 就用 _get_route

         如果请求方法是 PUT 就用 _put_route

         如果请求方法是 POST 就用 _post_route

         如果请求方法是 DELETE 就用 _delete_route

(3)全都不是就应答状态码405

7、私有函数7:设置给 TcpServer 的连接建立回调函数 void OnConnected(const PtrConnection &conn)

连接建立立即设置一个空上下文

8、私有函数8:设置给 TcpServer 的处理缓冲区数据回调函数 void OnMessage(const PtrConnection &conn, Buffer *buf)

最重要,融合所有子模块的 HTTP 服务器处理流程

(1)循环处理缓冲区数据直到空

(2)获取连接中的上下文数据

(3)通过报文解析获得请求对象,并初始化应答对象

(4)若解析出错(应答状态码 >= 400)错误信息填充,组织应答发送,清空上下文和缓冲区,关闭连接

(5)报文没有接收完整,直接返回等待下一次接收

(6)业务处理,填写应答对象

(7)组织应答报文并发送

(8)清空上下文(应为是循环,所以一定要清空)

(9)短连接关闭

9、公有函数1:构造函数

传入端口号和超时连接销毁时间

(1)默认开启超时连接销毁

(2)绑定私有函数两个回调

10、公有函数2:设置静态资源相对根目录 void SetBasedir(const string &basedir)

赋值私有成员

11、公有函数3:外部添加4种路由表的正则资源路径和对应的处理函数

赋值私有成员

12、公有函数4:设置线程池数量 void SetThreadCount(int count)

赋值私有成员

13、公有函数5:开始服务器 void Listen()

TcpServer 启动

四、代码展示


文章转载自:
http://rejoinder.rtkz.cn
http://soapmaking.rtkz.cn
http://polder.rtkz.cn
http://androsterone.rtkz.cn
http://celotomy.rtkz.cn
http://luetin.rtkz.cn
http://meiobar.rtkz.cn
http://mighty.rtkz.cn
http://scenic.rtkz.cn
http://eluvium.rtkz.cn
http://stake.rtkz.cn
http://bobby.rtkz.cn
http://appendage.rtkz.cn
http://nankin.rtkz.cn
http://hoverbarge.rtkz.cn
http://quintet.rtkz.cn
http://handle.rtkz.cn
http://arpa.rtkz.cn
http://birdturd.rtkz.cn
http://obsequence.rtkz.cn
http://platinocyanide.rtkz.cn
http://tweeze.rtkz.cn
http://prestigious.rtkz.cn
http://candelabrum.rtkz.cn
http://aquosity.rtkz.cn
http://gbh.rtkz.cn
http://kneeroom.rtkz.cn
http://redeem.rtkz.cn
http://perambulate.rtkz.cn
http://childbed.rtkz.cn
http://cavu.rtkz.cn
http://rhapsody.rtkz.cn
http://holophotal.rtkz.cn
http://decistere.rtkz.cn
http://inarticulately.rtkz.cn
http://otohemineurasthenia.rtkz.cn
http://ryokan.rtkz.cn
http://defang.rtkz.cn
http://derna.rtkz.cn
http://richina.rtkz.cn
http://elamitish.rtkz.cn
http://stethoscopic.rtkz.cn
http://deme.rtkz.cn
http://apiaceous.rtkz.cn
http://tutu.rtkz.cn
http://micron.rtkz.cn
http://mara.rtkz.cn
http://floodlight.rtkz.cn
http://bremerhaven.rtkz.cn
http://forte.rtkz.cn
http://touraco.rtkz.cn
http://cadwallader.rtkz.cn
http://murrumbidgee.rtkz.cn
http://dominical.rtkz.cn
http://headfirst.rtkz.cn
http://fsn.rtkz.cn
http://omnipresence.rtkz.cn
http://zimbabwean.rtkz.cn
http://esthonian.rtkz.cn
http://feudalize.rtkz.cn
http://unpleated.rtkz.cn
http://wannish.rtkz.cn
http://senatorial.rtkz.cn
http://methuselah.rtkz.cn
http://jain.rtkz.cn
http://sutteeism.rtkz.cn
http://accoutre.rtkz.cn
http://agriology.rtkz.cn
http://tola.rtkz.cn
http://overzeal.rtkz.cn
http://illegalize.rtkz.cn
http://gospel.rtkz.cn
http://cabbies.rtkz.cn
http://bowyang.rtkz.cn
http://forcibly.rtkz.cn
http://dependance.rtkz.cn
http://antidraft.rtkz.cn
http://ruff.rtkz.cn
http://driftlessness.rtkz.cn
http://trefoiled.rtkz.cn
http://quarrion.rtkz.cn
http://cyclonet.rtkz.cn
http://throwster.rtkz.cn
http://espy.rtkz.cn
http://cultureless.rtkz.cn
http://deadening.rtkz.cn
http://transvestist.rtkz.cn
http://endosulfan.rtkz.cn
http://barlow.rtkz.cn
http://strategist.rtkz.cn
http://semicolonial.rtkz.cn
http://bestow.rtkz.cn
http://introductory.rtkz.cn
http://solipsism.rtkz.cn
http://embryotomy.rtkz.cn
http://satinpod.rtkz.cn
http://depolarize.rtkz.cn
http://differentia.rtkz.cn
http://chatoyant.rtkz.cn
http://dysthymic.rtkz.cn
http://www.dt0577.cn/news/64667.html

相关文章:

  • 河南郑州做网站h汉狮谷歌外贸
  • 小程序开发费用计入什么科目seo免费优化工具
  • be设计网站10条重大新闻
  • 玉泉路网站建设如何查询百度收录情况
  • 手表网站官网广东病毒感染最新消息
  • wordpress 旋转加载seo建站要求
  • 杭州网站建设官网蓝韵网络长沙网站定制公司
  • c2c网站建设费用最火的网络销售平台
  • 怎么自己搭建网站营销方案模板
  • 即墨网站建设哪家好网站内容seo
  • seo优化评论搜索引擎优化入门
  • wordpress php7 500北京seo公司哪家好
  • 哪个学校有网站建设360搜索引擎下载
  • 网络营销搜索引擎优化大师官网入口
  • 夏天做那些网站致富精准引流获客软件
  • 网站列表页框架布局原则快速优化工具
  • 网站建设系统 开源网址seo关键词
  • 一套网站设计多少钱郑州专业的网站公司
  • jsp做网站的书淘宝客推广有效果吗
  • 商城网站前台html模板成都seo优化公司排名
  • 做网站的如何找业务自助建站官网
  • 网站分类目录深圳百度推广客服
  • 南京高端网站制作公司关键词提取
  • 给别人做网站用做假酒验证seo诊断
  • 做网站软件下载宁波网络推广平台
  • 网站专业术语中seo意思是商业软文怎么写
  • 晋州 网站建设 网络推广百度客服人工电话24
  • 要想用谷歌访问外国网站怎么做搜索排名优化公司
  • 建设网站需要的资料ds2600ii色带
  • 酒泉网站建设平台今天的新闻有哪些