在C ++中使用嵌入式Mongoose服务器进行典型的服务器任务

时间:2013-10-04 17:53:53

标签: c++ c mongoose-web-server

我最近遇到了我计划用于项目的嵌入式mongoose Web服务器库。但是,只有花了很多时间在Google和Stack Overflow之后,我才能够使用C语言获得基本的“hello world”示例。

现在我无法在Stack Overflow上找到关于我的疑问的任何在线教程或现有问题,我想在这里提出质疑。我有关于Mongoose服务器使用的以下问题 - :

  • 如何了解所要求的内容?

通常,在Apache等更受欢迎的服务器中,当用户调用“localhost / help.text”时,他会在浏览器中显示“help.txt”。但是,在Mongoose的嵌入式版本中,我如何知道用户请求的内容,我可以传递该特定文件(或者我的情况下的原始数据),具体取决于用户请求的内容?

  • 如何将文件及其关联发送到客户端的浏览器?

从示例中,我能够了解如何将原始数据发送到客户端的浏览器,但是如果我想发送文件该怎么办。 比方说我发送一个HTML文件也发送了所有相关文件? 通常,当浏览器遇到CSS和javascript文件时,它会向服务器发送另一个请求以获取这些文件,然后服务器发回这些文件。然而,最近我遇到了这个问题,它让我感到困惑(虽然我没有尝试过所说的):Display html and pass the data from html to mongoose server

  • 如何接受来自客户端的文件?如允许客户上传某些内容?

我访问了网站上提供的Mongoose的文件上传示例,但我无法理解发生的事情。

这些是服务器的一些非常基本的功能,也许是因为缺乏好的教程,我无法找到解决问题的方法,但这可能非常简单。

稍微不同的是,我想了解更多有关Mongoose嵌入式服务器功能及其使用方法的信息。

请原谅我,如果这个问题看起来非常基本,但是根据我阅读的评论以及Mongoose网站所说的内容,我认为mongoose是一个很棒的嵌入式Web服务器,如果只能找到相同的文档。< / p>

谢谢。

1 个答案:

答案 0 :(得分:1)

  • 如何了解所要求的内容?

答案在示例中,https://github.com/cesanta/mongoose/blob/master/examples/hello.c所有信息都在传递给回调的struct mg_connection结构中。

  • 如何将文件及其关联发送到客户端的浏览器?

你不应该直接这样做。只需回复HTML页面,浏览器就会通过每个文件发送单独的请求来自行请求所有必需的文件。

  • 如何接受来自客户端的文件?如允许客户上传某些内容?

是的,您可以上传文件。关于如何做到这一点有一个例子https://github.com/cesanta/mongoose/blob/master/examples/upload.c