是否可以使用C作爲應用程序和Web服務器來編寫Web應用程序。獨立Web應用程序
我的意思是,通常情況下,Web應用程序是由Apache調用的PHP編寫的。如果你想寫一個非常快速和高效的小應用程序,你可以寫一個可執行文件獨立於Apache和PHP解釋器嗎?
非常感謝, 馬吉德
編輯:我想寫一個簡單的遊戲,遊戲是多玩家,並應作爲服務器端運行,客戶端部分可以在瀏覽器中的HTML表單。你知道我可以用作骨架的任何簡單的開源遊戲嗎?我想要一些不需要單獨的網絡服務器或數據庫服務器的東西
是否可以使用C作爲應用程序和Web服務器來編寫Web應用程序。獨立Web應用程序
我的意思是,通常情況下,Web應用程序是由Apache調用的PHP編寫的。如果你想寫一個非常快速和高效的小應用程序,你可以寫一個可執行文件獨立於Apache和PHP解釋器嗎?
非常感謝, 馬吉德
編輯:我想寫一個簡單的遊戲,遊戲是多玩家,並應作爲服務器端運行,客戶端部分可以在瀏覽器中的HTML表單。你知道我可以用作骨架的任何簡單的開源遊戲嗎?我想要一些不需要單獨的網絡服務器或數據庫服務器的東西
確定它是可能的 - 如果您可以用C編寫OS,則可以編寫Web服務器和應用程序。這隻會是更多的工作。
這是一個只有200行代碼的example C web server。
你知道這樣的應用程序的任何例子嗎?也許是一個簡單的(開源)遊戲? – 2010-01-15 17:18:46
發佈示例鏈接。但它只服務於靜態頁面,所以你可能需要谷歌來提供更強大的功能。 – 2010-01-15 17:21:40
謝謝Kaleb。將嘗試它。 – 2010-01-15 17:28:07
當然你可以自己寫一個。 HTTP協議非常龐大,但您無需成爲完全兼容的Web服務器來運行您自己的應用程序。
C應用程序必須偵聽您決定運行服務器的任何端口(默認爲80)的請求。在HTTP中有各種各樣的request methods,但至少你必須實現GET
,或者甚至可以使用,但是從你的web應用程序開始你就可以控制這個方面。
這是一個基本要求的一個例子,你的C程序應該解析:
GET /index.html HTTP/1.1
Host: www.example.com
,並返回與所請求的內容和響應頭,如響應:
HTTP/1.1 200 OK
Date: Mon, 23 May 2005 22:38:34 GMT
Server: Apache/1.3.3.7 (Unix) (Red-Hat/Linux)
Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
Etag: "3f80f-1b6-3e1cb03b"
Accept-Ranges: bytes
Content-Length: 438
Connection: close
Content-Type: text/html; charset=UTF-8
我可以有已經提到過這個,但HTTP協議真的是浩大的。具有不同功能的瀏覽器可以訪問該網站,因此您必須作出相應迴應。話雖如此,因爲它全部在你的控制之下,所以你可以從一小部分你想要處理的請求/頭文件的小部分,單線程,一次一個請求開始,等等,然後從那裏。
像卡萊布說,如果C能夠在操作系統和飛船一起使用,那麼我們可以肯定編寫一個Web和應用服務器與它:)
我只是嘻哈的PHP可能被用於此目的。以下是他們對此的看法:
HipHop for PHP將PHP源代碼轉換爲高度優化的C++。它是由Facebook的開發並在年初發布了開源2010年
它可以被訪問here
注意:如果您想啓動一個小程序,每個Web請求,其可擴展性將受到限制操作系統創建新進程的能力。 – 2010-04-22 17:43:57