Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C中是否有简单/示例事件驱动的Web服务器?_C_Events_Event Driven_Event Loop_Evented Io - Fatal编程技术网

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

C中是否有简单/示例事件驱动的Web服务器?,c,events,event-driven,event-loop,evented-io,C,Events,Event Driven,Event Loop,Evented Io,在线上有许多基于线程的web服务器示例,但我还没有看到任何基于事件循环的web服务器示例(不太复杂,例如lighttp和nginx) 有吗?如果没有,我应该阅读/查看哪些内容来帮助我学习如何制作此类服务器?(这包括C中的异步IO等) 我已经了解了基于事件循环的编程的基本原理,特别是在Python这样的高级语言中,但我需要能够用C语言实现一个。这是使用的源代码的一部分。不确定您的服务器需要有多功能,但可以作为起点的基于C的小型web服务器。它为每个连接分叉一个子进程,因此很容易理解,但不是最有效的

在线上有许多基于线程的web服务器示例,但我还没有看到任何基于事件循环的web服务器示例(不太复杂,例如lighttp和nginx)

有吗?如果没有,我应该阅读/查看哪些内容来帮助我学习如何制作此类服务器?(这包括C中的异步IO等)


我已经了解了基于事件循环的编程的基本原理,特别是在Python这样的高级语言中,但我需要能够用C语言实现一个。这是使用的源代码的一部分。

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

简而言之,很简单:libevent.org和示例:。
只要您参与libevent,它的API与http一起工作,即evhttp并不是真正健壮的,至少还有一种替代方法。当然,libmicrohttpd工作得很好。

看看thttpd,还有GNU libmicrohttpd