基于reactor的http协议简单业务实现

利用上篇文章(百万连接并发)的代码,如何实现一个简单的http业务。

首先reactor模式中最重要的三个函数,也就是三个回调函数:

accept_cb

recv_cb

send_cb

如果对应到我们的http业务上,首先tcp的连接是通过accept_cb进行处理,然后http请求的数据包通过recv_cb进行接收,接收后通过send_cb给客户端发送response。

那么http请求的数据包是什么格式呢?我们直接通过浏览器访问服务器监听的端口,通过打印来查看http请求的数据包内容,注意此时代码中并没有任何的http业务处理。如下图所示:

第一步:ifconfig查看服务器的地址192.168.11.128

第二步:服务器端运行代码,然后浏览器访问192.168.11.128::8888

服务器端的打印如下:

除去代码中自身的打印信息以外,剩下的就是http请求内容。即:

GET / HTTP/1.1
Host: 192.168.11.128:8888
Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36 Edg/99.0.1150.39
Accept: text/html,application/xhtml+x

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值