cle*_*tus 10
首先让我说如果目标是为PHP页面提供服务的轻量级HTTP服务器,那么这已经完成了.看看nginx.
至于学习经历,你选择的东西实际上相当艰难.
多线程在最好的时候很难.在C/C++(真的有手动内存分配的任何东西)上,它的难度要高出一个数量级.
除此之外还有网络通信.有一些怪癖需要处理,不同版本的HTTP(现在大部分都是非问题),各种HTTP标头要处理等等.
解决此问题的最直观的解决方案是拥有一个侦听端口的进程.当它收到请求时,它会生成一个进程,如果需要,它可以执行到PHP进程.
然而,这不会扩展.第一个(显而易见的)优化是使用线程而不是进程和某种形式的线程间通信.虽然这有所帮助,但它仍然只能扩展到目前为止.
超越它,你正在寻找异常套接字处理,这是相当低的水平.
然而,所有这些都是相当大的项目.
您是否有任何特殊原因要在C/C++中执行此操作?或者您正在学习其中一种或两种语言的任何特殊原因?这些语言肯定有它们的位置,但它们越来越成为小众语言.托管(垃圾收集)语言/平台几乎完全接管.Joel认为垃圾收集是关于过去20年中编程中唯一的巨大生产力增长,我倾向于同意.