独立的Web应用程序

时间:2010-01-15 17:14:07

标签: web-applications

是否可以编写一个带有C的Web应用程序,它既可以作为应用程序,也可以作为Web服务器。

我的意思是,通常,Web应用程序是用PHP编写的,由Apache调用。如果你想编写一个非常快速和高效的小应用程序,你可以编写一个独立于Apache和PHP解释器的可执行文件吗?

非常感谢, 马吉德

编辑:我想写一个简单的游戏,游戏是多人游戏,应该作为服务器运行,客户端部分可以是浏览器中的html表单。你知道我可以用作骨架的任何简单的开源游戏吗?我想要一些不需要单独的Web服务器或数据库服务器的东西

3 个答案:

答案 0 :(得分:3)

当然有可能 - 如果您可以使用C编写操作系统,则可以编写Web服务器和应用程序。这将是一项更多的工作。

这是example C web server只有200行代码。

答案 1 :(得分:1)

当然你可以自己写一个。 HTTP协议非常广泛,但您不必是完全兼容的Web服务器来运行您自己的应用程序。

C应用程序必须在您决定运行服务器的任何端口上侦听请求(默认为80)。 HTTP中有各种request methods,但至少您必须实现GET,甚至可能POST,但您可以控制自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协议真的是浩大。具有不同功能的浏览器可以访问该站点,您必须做出相应的响应。话虽如此,因为它全部在你的控制之下,你可以从你想要处理的一小部分请求/头文件,一个线程,一次一个请求等开始,然后从中构建它那里。

就像Kaleb所说,如果C可以用于操作系统和宇宙飞船,那么我们绝对可以用它编写一个Web和应用程序服务器:)

答案 2 :(得分:0)

我只是hiphop-php可以用于此目的。以下是他们对此的评价:

  

HipHop for PHP将PHP源代码转换为高度优化的C ++。它由Facebook开发,并于2010年初作为开源发布。

可以访问here