![]() |
1
4
你可以试试 libmicrohttp . |
![]() |
3
4
为了以后的参考,那就满足你的要求,看看 libasyncd 我是投稿人之一。
是用C写的。
非常紧凑。
它是基于libevent的框架。能处理的不止这些。
这是异步的。也支持管道。
当然,保持活力。
这取决于你如何编码你的逻辑。
根据BSD许可证
对。它支持带有openssl的https。
可移植,但现在不是windows,而是可移植到windows。 |
![]() |
4
1
你想要的是支持 HTTP pipelining . 如果你还没有熟悉那一页,你应该熟悉它。 是的,去吧 libmicrohttp . 它支持SSL等,可以在Unix和Windows下工作。 然而,克里斯托弗的评论是正确的。如果每个响应都有一个启动时间,那么通过流水线就不会有太多收获。但是,如果您对第一个请求只有很长的响应时间,那么您可能会赢得一些东西。
另一方面,如果每个响应都有一个启动时间,您可以通过
不
使用管道,但为每个对象创建一个新请求。然后每个请求都有自己的线程,并行地吸收启动成本。在最佳情况下,所有回复将“立即”发送。
libmicrohttp
在其中支持此操作模式
|
![]() |
5
0
跟进以前的评论和更新。。。
你不会说有多少个并发连接,而只是“一个TCP链接”。
所以您不需要为每个请求都有一个线程;只需要为每个连接提供一个小的工作线程池。
到目前为止,您是否做过任何测试或实现,以显示您是否确实在流水线连接的响应延迟方面存在问题?
|
![]() |
6
0
霍华德, 你看了吗 lighthttpd ? 它满足您的所有需求,除了它不是一个显式的嵌入式web服务器。但它是开源的,将其编译到您的应用程序中应该不会太难。然后你可以写一个自定义 plugin 来处理你的请求。 |
![]() |
7
0
不敢相信没人提起 nginx . 我已经阅读了大部分的源代码,它是非常模块化的。你可能很快就能得到你需要的零件。 |
![]() |
8
0
uIP或lwip可以为你工作。我个人使用uIP。这对少数客户机和并发连接(或者您称之为“流水线”)很有好处。然而,它的可伸缩性和提供内容的速度不如我所读的lwip。我使用的是简单和小尺寸的uIP,而不是lwip的强大功能,因为我的应用程序通常只有一个用户。 我发现随着并发连接的增加,uIP非常有限。但是,我确信这是MAC接收缓冲区的一个限制,而不是uIP本身。我认为lwip在某种程度上使用了更多的内存来解决这个问题。我只是没有足够的以太网内存来支持大量的请求包。也就是说,我可以在56mhz处理器上以大约15毫秒的延迟进行后台ajax轮询。 http://www.sics.se/~adam/software.html 实际上,我已经在几个方面修改了uIP。添加一个DHCP服务器和支持文件上传的多部分POST是最重要的事情。)如果您有任何问题,请告诉我。 |