0.概述
参考地址:
http://blog.csdn.net/xiaoxiaoyeyaya/article/details/42541419
1.Tinyhttpd
tinyhttpd是一个超轻量型Http Server,使用C语言开发,全部代码只有502行(包括注释),附带一个简单的Client,可以通过阅读这段代码理解一个 Http Server 的本质。
下载链接:http://sourceforge.net/projects/tinyhttpd/
2.Libev
libev是一个开源的事件驱动库,基于epoll,kqueue等OS提供的基础设施。其以高效出名,它可以将IO事件,定时器,和信号统一起来,统一放在事件处理这一套框架下处理。基于Reactor模式,效率较高,并且代码精简(4.15版本8000多行),是学习事件驱动编程的很好的资源。
下载链接:http://software.schmorp.de/pkg/libev.html
3.SQLite
SQLite是一个开源的嵌入式关系数据库,实现自包容、零配置、支持事务的SQL数据库引擎。 其特点是高度便携、使用方便、结构紧凑、高效、可靠。足够小,大致3万行C代码,250K。
下载地址:http://www.sqlite.org/ 。
4.异步事件循环
Boost.Asio:用于网络和底层I/O编程的跨平台的C++库。
Libev :功能齐全,高性能的时间循环,轻微地仿效libevent,但是不再像libevent一样有局限性,也修复了它的一些bug。
Libevent :事件通知库
Libuv :跨平台异步I/O。
5.网络
Boost.Asio:用于网络和底层I/O编程的跨平台的C++库
Onion :C语言HTTP服务器库,其设计为轻量级,易使用。
Muduo :用于Linux多线程服务器的C++非阻塞网络库
ZeroMQ :高速,模块化的异步通信库
6.Web应用框架
Kore :使用C语言开发的用于web应用程序的超快速和灵活的web服务器/框架。
libOnion:轻量级的库,帮助你使用C编程语言创建web服务器。
Crow :一个C++微型web框架(灵感来自于Python Flask)