使用C语言创建带有本地脚本支持的Web服务器。
我是一名中级的 C 开发者,正在努力进步。我想制作一个非常基本和轻量级的 HTTP 服务器,它有自己的脚本语言。
我可以使用 Lua 之类的脚本语言吗?如果不行,还有什么选择?
我不想像 Apache 一样在大多数情况下使用 CGI/FastCGI 来支持 PHP,而是想让我的服务器原生支持我的脚本语言。
编辑: 我希望脚本语言是我自己的,这样我可以决定语法等细节。
原文链接 https://stackoverflow.com/questions/2619148
你可以在脚本侧使用 Python,在服务器中嵌入解释器非常容易。 查看 这里。然而,你将无法改变语法,但你不必担心词法分析/语法分析/...
如果你需要关于嵌入 Python 解释器的帮助,可以问我。
你真正想做什么——是想创建一种新语言并为其设计一个 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 服务器更难,需要更多的理论背景...祝你好运:)
无论你想要做什么...几乎所有的 Web 服务器(假设我不知道某些情况)都使用套接字编程...你需要首先了解套接字。在 Microsoft 操作系统中,你可以使用 WINSOCK 库...虽然一开始使用起来有点困难,但它绝对会教会你网络核心...
还有一些其他的工具,你可能想要尝试一下... 例如: .NET 框架提供了出色的套接字实现。对于 Linux,我想有 POSIX API,如果没有,你还可以使用 Java 套接字...
有一本优秀的书,你可能想要阅读:"计算机网络,自顶向下的方法"。这本书详细讨论了 Web 服务器,甚至有一个用于教育目的的示例 Web 服务器编码... 愉快的编程..
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
- 如何编写 Lua 模式将字符串(嵌套数组)转换为真正的数组?
为什么不能使用 Lua 进行脚本编写?它是一种基于 C 实现的脚本语言,具备必要的 API。