使用C语言实现Web服务

问题描述:

我想使用C语言实现RESTful Web服务。用C语言做网络和所有相关事物的最佳方式是什么?使用C语言实现Web服务

+0

你开始搜索什么?什么是你遇到的_exact_问题?在问这里之前,我建议你一下Google。这不是一个全部是我的研究网站 –

+0

我对C语言的网络没有任何概念,并且我没有找到关于此主题的足够材料。如果你有一些内容,那么请给我建议。我一定会经历这些内容。 –

RESTful API并不是很难创建,许多语言已经有框架来做到这一点(C#,JEE,...)。在C中,你将不得不自己做所有事情。

一个月前我不得不为一个学校项目做到这一点。你只需要几件事情:

  • 一个网络服务器(GNU的libmicrohttpd是一个很好的)
  • 解析器,我个人做了我自己的使用regex.h这是一个有点难以在第一,但真的很强大。该解析器将处理URL请求及其数据(例如GET或POST数据),并将它们解析为API使用的正确结构。请求数据通常以JSON格式表示,因此您可能还需要JSON解析器,我使用了良好的JANSSON库。
  • 系统以您想要的方式存储数据。最简单的是连接到adatabase,我使用了MySQL数据库,该MySQL C API是完美

论文链接可以帮助您找到一些更多的细节:

您可以写e您的应用程序作为FastCGI服务器,相对简单 - 您的程序基本上由一个调用FCGI_Accept()的循环组成,处理参数并写出每个请求的响应。

然后,这个FastCGI服务器可以运行在处理http,ssl,身份验证,服务静态文件等的web服务器(Apache,nginx ...)之后,因此您不必处理所有这些。