开源最小的Web服务器?

时间:2009-01-20 17:09:40

标签: c# c++ webserver

我正在考虑我编写的项目的后续步骤。它目前是一个控制串行端口设备的桌面应用程序。

我正在考虑允许浏览器客户端连接到某个进程,以获得有关设备状态等的“近实时”更新。可能还允许从浏览器客户端进行控制。

我宁愿不从头开始编写我自己的网络服务器,这将是一个非常小规模的网络服务器。

关于在哪里寻找的任何建议?

我更喜欢C ++或C#实现。

13 个答案:

答案 0 :(得分:10)

如果您在Windows上运行,请使用http.sys。它是一个通过.NET框架公开的轻量级Web服务器。

http://mikehadlow.blogspot.com/2006/07/playing-with-httpsys.html

答案 1 :(得分:5)

我不知道任何C#http服务器,但你可以很快地自己制作(见http://www.codeplex.com/webserver)。

正如所建议的那样,lighthttpd可能会成功。

我还推荐simpleweb,这是一个用Java编写的非常轻巧和强大的http服务器。

答案 2 :(得分:5)

我从朋友那里听到关于lighthttpd

的好消息

答案 3 :(得分:2)

nginx非常轻量级且可扩展性很强(例如,请参阅 Wordpress's story是一个备受瞩目的案例)。 POSIX的仅

答案 4 :(得分:2)

查看我的网络服务器项目:http://www.codeplex.com/webserver 它包含一个最小的分支。

答案 5 :(得分:2)

考虑查看System.Net.HTTPListener类。它实现了一个HTTP侦听器,可以很容易地响应来自客户端的HTTP请求。既然你不需要一个成熟的HTTP服务器,那可能就是这样!

答案 6 :(得分:2)

还有一些建议:

答案 7 :(得分:2)

这是我去年写的另一个选择,并且很好地为我服务。

EmbedIO: https://github.com/unosquare/embedio

我主要用它来在Raspberry Pi(soft-float)上创建RESTful服务。 这也是麻省理工学院的许可。

答案 8 :(得分:1)

从Visual Studio运行Web项目时,通常通过Cassini2运行它。这也是一个可下载的项目。

否则,如果你想要更小的东西,你可以看看Indy 10库(开源),这是一套完整的网络apis。您可以使用它快速编写自己的Web服务器。

或者,NSoftware也有一些网络apis。它们是商业性的,但有很好的记录,我对他们的支持有好运(但它已经有一段时间了)。

答案 9 :(得分:1)

既然你不是自己写的,它必须是一个最小的服务器吗? Apache和相关可能会达到您的目的。它是重量级的,但不了解您可能会或可能不会出现问题的更多要求。

答案 10 :(得分:1)

查看Codeprpject网站
有很多开源和简单的网络服务器

Create your own Web Server using C#

Simple HTTP Server in C#

答案 11 :(得分:0)

我不知道是否适合您的项目,但http://www.tntnet.org/看起来很有希望。或者,您可以查找http服务器库,您可以添加自定义代码以构建嵌入了应用程序的Web服务器。有许多(比如libmicrohttpd),在不知道你的项目的情况下不值得枚举。

答案 12 :(得分:-1)

您也可以尝试使用nodejs来构建网络服务器。

有一些实例可用于实施简单的