開源而又強大的迷你型web伺服器推薦

冷侃發表於2013-12-27

appweb顯然是不二之選,看了下最新版,已經到了4了

下載下來,http://appwebserver.org/software/appweb-4.4.4-0-src.tgz,十幾M,直接嚇傻,離我的目標有點遠,

翻箱倒櫃,到了一個老版本2的,體積還算還好,而且功能強大

瞄了下程式碼,雖然是為嵌入式系統準備但是功能還真是強大,甚至於支援一個類asp的動態網頁語言,叫做esp。

這一個web伺服器應該有的結構,雖然小巧,但我想,apache也應該是這樣的結構

拿著這個web伺服器顯示不是為了做網頁用了,所以,如果讓自己想要的功能跑進伺服器才是關鍵。

每種服務需要一個MaModule/MaHandlerService/MaHandler

在伺服器啟動的時候將手工呼叫new MaModule(繼承自),會將該模組載入到伺服器中,並且,當請求(類MaRequest)來的時候傳入時MaHanlder例項的matchRequest進行匹配

當匹配這個請求成功後,會呼叫MaHanlder的Close方法生成一個新例項給他,並執行run(MaRequest*),一次請求完成

其中,多個模組的Hanlder有可能都同時匹配,那麼怎麼來控制Hanlder的匹配優先順序呢。答案就在new MaModule

程式碼裡面,為我們提供了很多的Hanlder組合拼裝一下應該是夠了

下載地址:https://github.com/linbc/appweb2-win

使用cmake編譯,目前僅用於windows下,linux有太多的選擇,反而不需要這個了,所以也不用考慮跨平臺了,不過要改還是挺快的,改下CMake的巨集就結了

 

相關文章