我正在考慮我編寫的項目的下一步。它目前是一個控制串口設備的桌面應用程序。開源的最小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