C++学习笔记day36~day38-----UC-实现一个http服务器

通过前面对linux下的C语言的学习,现在有了基本的linux下的编程能力。
这个项目旨在了解什么是协议,顺便联系之前学习的内容。
这个项目分为两个部分介绍:
第一部分:http服务器的基本框架和并发的实现
第二部分:http协议的处理
http服务器的基本框架和并发的实现
先介绍一下这个http服务器的框架
http服务器
这个框架,是仿照ngnix中处理并发访问时提供的多进程和多路复用的想法搭建的。
在做这个框架之前,我查了一下一个socket的未决连接队列是由进程管理还是由内核管理,最后在其他的分享上,看到了对listen函数的介绍。这个机制决定了能否使用上述框架实现并发处理。
listen(2)函数的深入介绍
listen机制
当一个socket创建了一个套接口之后,它被假设(这个不懂)为一个主动套接口,可以使用connect发起连接。listen函数可以把一个为连接的套接口转变为一个(被动)监听套接口。内核为每一个监听套接口分配了两个队列,未完成连接队列完成连接队列(未决连接队列)。转自点击跳转
注意未决连接队列由内核维护,所以当多个进程向一个监听套接口使用accept函数的时候,操作的是同一个未决队列。
在这个基础上,就可以使用多进程来处理并发。
在这里提供的代码中,注释非常的详细,各个文件的对应关系,在readme中。
屠龙宝刀,点击就送

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值