1

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

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

  • 我如何知道请求的内容?

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

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

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

  • 如何接受来自客户端的文件?就像允许客户上传东西一样?

我访问了网站上给出的 Mongoose 文件上传示例,但我不太明白发生了什么。

这些是服务器具有的一些非常基本的功能,也许由于缺乏好的教程,我无法找到解决问题的方法,虽然它可能非常微不足道。

稍有不同的是,我想了解更多有关 Mongoose 嵌入式服务器的功能以及如何使用它们的信息。

如果这个问题看起来非常基本,请原谅我,但是从我阅读的评论和 Mongoose 网站的内容来看,我认为如果能找到更多相同的文档,mongoose 是一个很棒的嵌入式 Web 服务器。

谢谢你。

4

1 回答 1

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 。

于 2013-12-27T19:55:50.417 回答