利用上篇文章(百万连接并发)的代码,如何实现一个简单的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: