网上有许多基于线程的Web服务器示例,但我还没有看到任何能够提供基于事件循环的良好示例(没有非常复杂的例子,例如lighttp和nginx)。
有没有?如果没有,我应该阅读/看看什么来帮助我学习如何制作这种服务器? (这包括C中的异步IO等)
我已经理解了基于事件循环的编程如何工作的基础知识,特别是在像Python这样的高级语言中,但我需要能够在C中实现一个。
答案 0 :(得分:2)
Here is one是使用TupleServer的libevent来源的一部分。
答案 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工作正常。