我正在考虑我编写的项目的下一步。它目前是一个控制串口设备的桌面应用程序。开源的最小Web服务器?
我正在考虑允许浏览器客户端连接到某个进程以获得关于设备状态等的“近实时”更新。可能还允许从浏览器客户端进行控制。
我宁愿不从头开始写自己的web服务器,这将是一个非常缩小的web服务器。
任何建议在哪里看?
我更喜欢C++或C#实现。
我正在考虑我编写的项目的下一步。它目前是一个控制串口设备的桌面应用程序。开源的最小Web服务器?
我正在考虑允许浏览器客户端连接到某个进程以获得关于设备状态等的“近实时”更新。可能还允许从浏览器客户端进行控制。
我宁愿不从头开始写自己的web服务器,这将是一个非常缩小的web服务器。
任何建议在哪里看?
我更喜欢C++或C#实现。
如果您在Windows上运行,请使用http.sys。它是一个通过.NET框架公开的轻量级Web服务器。
http://mikehadlow.blogspot.com/2006/07/playing-with-httpsys.html
我不知道任何C#http服务器,但你可以使自己很快(见http://www.codeplex.com/webserver)。
正如所建议的,lighthttpd可能会伎俩。
我也推荐simpleweb,这是一个用Java编写的非常轻巧且功能强大的http服务器。
+1对于具有异步支持的simpleweb – ozhan 2012-03-13 08:20:54
我不知道是否会适合您的项目,但http://www.tntnet.org/看起来很有前途。或者,您可以查找一个http服务器库,您可以添加自定义代码以构建嵌入了应用程序的Web服务器。有很多(如libmicrohttpd),如果不知道你的项目,就不值得在这里列举。
从Visual Studio运行Web项目时,通常通过Cassini2运行它。这也是一个可下载的项目。否则,如果你想要更小的东西,你可以看Indy 10库(开源),它是一套完整的网络apis。你可以用它来快速编写自己的Web服务器。
或者,NSoftware也有一些联网apis。它们是商业性的,但有很好的文档记录,并且我的支持运气不错(但是这已经有一段时间了)。
既然你不是自己写的,它必须是一个最小的服务器? Apache和相关可能会为您的目的服务。这是重量级的,但不知道更多的可能或不可能成为问题的要求。
nginx是非常轻量级且可扩展性很强的(例如,对于高知名度的案例,请参阅 Wordpress's story)。 POSIX只。
看看我的网络服务器项目:http://www.codeplex.com/webserver 它包含一个最小的精简分支。
考虑看看System.Net.HTTPListener类。它实现了一个HTTP侦听器,它可以非常容易地响应来自客户端的HTTP请求。既然你不需要一个完整的HTTP服务器,那可能就是要走的路!
您也可以尝试使用nodejs来构建Web服务器。
有上实现一个简单的
可用的例子这里是另一种选择我去年写与并曾担任我很好。
EmbedIO:https://github.com/unosquare/embedio
我用它主要是对树莓派(软浮动)创建RESTful服务。 它也是麻省理工学院授权的。
这看起来很有希望。我一定会仔细看看它。 – Tim 2009-01-20 18:03:15