使用C语言创建带有本地脚本支持的Web服务器。

我是一名中级的 C 开发者,正在努力进步。我想制作一个非常基本和轻量级的 HTTP 服务器,它有自己的脚本语言。

我可以使用 Lua 之类的脚本语言吗?如果不行,还有什么选择?

我不想像 Apache 一样在大多数情况下使用 CGI/FastCGI 来支持 PHP,而是想让我的服务器原生支持我的脚本语言。

编辑: 我希望脚本语言是我自己的,这样我可以决定语法等细节。

原文链接 https://stackoverflow.com/questions/2619148

点赞
stackoverflow用户34806
stackoverflow用户34806

为什么不能使用 Lua 进行脚本编写?它是一种基于 C 实现的脚本语言,具备必要的 API。

2010-04-11 23:40:13
stackoverflow用户256763
stackoverflow用户256763

你可以在脚本侧使用 Python,在服务器中嵌入解释器非常容易。 查看 这里。然而,你将无法改变语法,但你不必担心词法分析/语法分析/...

如果你需要关于嵌入 Python 解释器的帮助,可以问我。

2010-04-12 00:34:20
stackoverflow用户196206
stackoverflow用户196206

你真正想做什么——是想创建一种新语言并为其设计一个 web 服务器?那么,就在那种语言中编写 web 服务器,这证明了你的语言质量最好:)

还是你想编写一个“通用”的 web 服务器,并且有一个脚本语言来配置其行为(而不是“经典”的配置文件)?就像使用 Lua 的 Lighttpd 和 mod_magnet 一样?如果是这样,你可以:

  • 自己编写 HTTP Web 服务;这并不太难(能够响应 GET/POST 请求的 Web 服务器是典型的学校项目),但如果你是认真的,将会有数年的错误纠正,:)

  • 编写扩展某些现有 Web 服务器功能的模块(就像 mod_magnet 为 Lighttpd 所做的那样),或者

  • 使用实现 HTTP 服务器功能的某个库,因此你只需将其与你的语言解释器粘合在一起;我不知道有任何这样的库,但你可以查看 https://stackoverflow.com/questions/175507/c-c-web-server-library

但我认为,编程语言设计比实现 HTTP 服务器更难,需要更多的理论背景...祝你好运:)

2010-04-12 00:57:20
stackoverflow用户288003
stackoverflow用户288003

无论你想要做什么...几乎所有的 Web 服务器(假设我不知道某些情况)都使用套接字编程...你需要首先了解套接字。在 Microsoft 操作系统中,你可以使用 WINSOCK 库...虽然一开始使用起来有点困难,但它绝对会教会你网络核心...

还有一些其他的工具,你可能想要尝试一下... 例如: .NET 框架提供了出色的套接字实现。对于 Linux,我想有 POSIX API,如果没有,你还可以使用 Java 套接字...

有一本优秀的书,你可能想要阅读:"计算机网络,自顶向下的方法"。这本书详细讨论了 Web 服务器,甚至有一个用于教育目的的示例 Web 服务器编码... 愉快的编程..

2010-04-12 06:31:46