是否可以编写一个带有C的Web应用程序,它既可以作为应用程序,也可以作为Web服务器。
我的意思是,通常,Web应用程序是用PHP编写的,由Apache调用。如果你想编写一个非常快速和高效的小应用程序,你可以编写一个独立于Apache和PHP解释器的可执行文件吗?
非常感谢, 马吉德
编辑:我想写一个简单的游戏,游戏是多人游戏,应该作为服务器运行,客户端部分可以是浏览器中的html表单。你知道我可以用作骨架的任何简单的开源游戏吗?我想要一些不需要单独的Web服务器或数据库服务器的东西
答案 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