在C中是否有任何简单/示例事件驱动的Web服务器?

时间:2011-06-11 17:42:45

标签: c events event-driven event-loop evented-io

网上有许多基于线程的Web服务器示例,但我还没有看到任何能够提供基于事件循环的良好示例(没有非常复杂的例子,例如lighttp和nginx)。

有没有?如果没有,我应该阅读/看看什么来帮助我学习如何制作这种服务器? (这包括C中的异步IO等)

我已经理解了基于事件循环的编程如何工作的基础知识,特别是在像Python这样的高级语言中,但我需要能够在C中实现一个。

3 个答案:

答案 0 :(得分:2)

Here is one是使用TupleServerlibevent来源的一部分。

答案 1 :(得分:0)

不确定服务器需要的全功能,但here's可以用作起点的小型基于C的Web服务器。它为每个连接分配一个子进程,因此它很容易理解,但不是最有效的。

答案 2 :(得分:0)

简而言之,简单:libevent.org和示例:http://www.wangafu.net/~nickm/libevent-book/。 只要你参与了libevent,它的API与http一起工作,而evhttp并不是很强大,https://github.com/ellzey/libevhtp还有另一种选择。当然,libmicrohttpd工作正常。