2009-01-20 67 views
11

我正在考虑我编写的项目的下一步。它目前是一个控制串口设备的桌面应用程序。开源的最小Web服务器?

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

我宁愿不从头开始写自己的web服务器,这将是一个非常缩小的web服务器。

任何建议在哪里看?

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

回答

5

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

正如所建议的,lighthttpd可能会伎俩。

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

+0

+1对于具有异步支持的simpleweb – ozhan 2012-03-13 08:20:54

0

我不知道是否会适合您的项目,但http://www.tntnet.org/看起来很有前途。或者,您可以查找一个http服务器库,您可以添加自定义代码以构建嵌入了应用程序的Web服务器。有很多(如libmicrohttpd),如果不知道你的项目,就不值得在这里列举。

1

从Visual Studio运行Web项目时,通常通过Cassini2运行它。这也是一个可下载的项目。否则,如果你想要更小的东西,你可以看Indy 10库(开源),它是一套完整的网络apis。你可以用它来快速编写自己的Web服务器。

或者,NSoftware也有一些联网apis。它们是商业性的,但有很好的文档记录,并且我的支持运气不错(但是这已经有一段时间了)。

5

我听说好东西从朋友约lighthttpd

+0

不知道它是如何“缩小”,IRT内存footprit等......但它足够快! – Calyth 2009-01-21 23:18:59

1

既然你不是自己写的,它必须是一个最小的服务器? Apache和相关可能会为您的目的服务。这是重量级的,但不知道更多的可能或不可能成为问题的要求。

2

nginx是非常轻量级且可扩展性很强的(例如,对于高知名度的案例,请参阅 Wordpress's story)。 POSIX只。

2

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

2

一对夫妇更建议:

-1

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

有上实现一个简单的

2

可用的例子这里是另一种选择我去年写与并曾担任我很好。

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

我用它主要是对树莓派(软浮动)创建RESTful服务。 它也是麻省理工学院授权的。