问题标签 [mongoose-web-server]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
198 浏览

c - Mongoose Web Server 源码中的入口点函数

我是一名网络开发人员,正在努力学习更多关于 C 编程的知识。我的 C 培训纯粹是学术性的,所以我想我会从阅读 Github 上的一些源代码开始。我选择的项目是https://github.com/cesanta/mongoose - Mongoose Web Server,因为我曾多次使用它。

浏览源代码(mongoose.c),我注意到没有“主要”功能。我不知道第一个被调用的函数是什么。

所以,我的问题是:
1. C 程序中不总是有一个 main 函数吗?
2. 如果不是,我怎么知道第一个被调用的函数是什么?

0 投票
1 回答
979 浏览

c - 使用 mongoose 通过 websockets/http 将图像/文件/音频文件发送到浏览器

我正在使用 Mongoose 库在我的系统中运行本地主机服务器。现在,通过HTTP ConnectionWebsocket Connection,我想向正在向本地主机发出请求的客户端发送文件/文档/图像/小音频文件。

到目前为止,我使用这些 Mongoose API 通过 websockets 和通过 http 连接到客户端(浏览器)的 xml 数据发送简单的 json 消息

由于正在使用 Mongoose,因此整个实现都在 C 中

请让我知道是否可以参考任何示例代码(如果有),或者任何可以帮助我实现上述目标的 Mongoose 的 API 文档。

期待有价值的回应。

0 投票
2 回答
2315 浏览

php - 在 c 和 php 之间传递数据

我有两个应用程序——一个 php web 应用程序和一个 c 程序。php 应用程序必须将数据发送到返回结果的 c 程序。c 程序必须在一个循环中一直运行 (while(true),因为它必须将先前输入的数据保存在内存中。

我通过使用文件(输入和输出文件)来处理在 c 和 php 之间传递数据的问题。如果我的 Web 应用程序发生更改,我的 php 脚本会更新一个文件,该文件由我的 c 程序读取。输出被写入另一个文件。Web 应用程序一直在寻找变化。

我认为这不是解决此类问题的最明智的解决方案。可能它很多不必要的文件访问。

在以下线程的启发和帮助下,我认为使用一种 c php 服务器桥可能是一个很好的解决方案。

如何在php(Web应用程序)中传递值和运行c程序

在Linux中的PHP和C可执行文件之间传递数据

我从mongoose开始。Mongoose 是一个非常轻量级的网络服务器。我目前的想法是我的 Web 应用程序将通过 POST 将数据直接发送到我的 c 程序。该请求由 mongoose 网络服务器处理。这是要走的路吗?或者将其拆分为两个应用程序将是一个更好的解决方案 1)处理输入输出的网络服务器 - 两个程序之间的变量由共享内存传递 2)我当前的 c 程序用于我的操作(通过共享内存输入/输出)

或者这完全是错误的方式,a)我应该坚持我的文件解决方案 b)有更好的方法吗?对于所有这些问题,我感到很抱歉,但我对 c 很陌生,而且很挣扎,对这一切都没有信心。

编辑
我尝试更具体地说明我的 c 程序的功能。基本上它是一个模拟。它就像一个状态流,有大约 20-40 个输入,这些输入都是整数,大多数时候只有 0 或 1。程序基于输入和先前的状态进行操作。通过将输入文件更改为原始状态,在一次迭代后重置输入。

输出文件始终使用相应的输出值更新(如 var = 1 var2 = 3)

0 投票
1 回答
227 浏览

c++ - 使用 mongoose 5.4 时未调用 mg_wakeup_server_ex ( ) 回调

我正在使用 mongoose 5.4 下面是代码行

在这里,每当调用 mg_wakeup_server_ex() 时,都不会调用回调。我不怀疑调用 C 方法的 c++ 方法,因为它在少数情况下有效。仅在某些地方,不会调用 websocket_data_push () 回调。能否请你帮忙 !!!

0 投票
3 回答
1115 浏览

c++ - 如何使用 Mongoose(一个 http 服务器)来服务不同的请求?

我是 http 的新手,我正在使用一个名为 mongoose 的嵌入式 http 服务器。
在 ~/web_root 中使用网络根,我想做:

我试着像这样使用猫鼬

这是 HttpEvenHandler

0 投票
1 回答
914 浏览

html - 如何使用 libMongoose/Embedded Mongoose 同时发送 HTML 和图像?

所以 Mongoose.c 库非常简单。我已经能够使用他们的事件系统、URL 识别、多表单示例和他们的连接系统来构建一个简单的登录系统。我使用过 C++ minGW、mongoose.c&.h 和我的浏览器。现在我想实现图像。

但有一个基本问题我无法解决。我可以传输 html 文档或图像。单独的 jpg 文件和 html 文档一样会愉快地显示,只要其中一个是单独的。我的代码比较简单,对于html:

当我想发送图像时,它非常相似:

这两项工作(我已经删除了不相关的部分,例如字符串的组成方式或缓冲区的填充方式,足以说明这些方面有效)。我可以有 HTML 格式,带有“缺少图像空间”,或者我可以显示图像,但没有 HTML。

如何同时发送图像和 HTML?

0 投票
1 回答
7005 浏览

c - 如何使用 mongoose webserver API 运行 SSL

我使用 C 语言中的 Mongoose 网络服务器 API 来实现一个小型 HTTP API。到目前为止它工作正常,但如果我想使用 SSL,服务器会拒绝请求。

为了生成 ssl 密钥和证书,我使用了以下方法:

根据手册,猫鼬希望将密钥和证书放在一个文件中。

我还设置了NS_ENABLE_SSL编译标志以启用 mongoose 的 ssl 部分。

要初始化 mongoose,我在 C 源代码中执行以下操作:

我的事件处理程序现在只在控制台上记录请求:

如果我尝试从浏览器中的文档根目录打开 HTML 文件,服务器会关闭连接而不传递内容。

控制台输出:

前三个(null)是 mg_set_option 的返回值,NULL如果在设置选项时没有出现问题。

这里出了什么问题?

0 投票
1 回答
899 浏览

c - C - Mongoose 库回复消息

我的代码有问题,但它是正确的!但是当我插入错误的地址时,我会这样做:例如,http://127.0.0.1:27017/this_is_a_try我的服务器回复我一条消息“这是一个尝试”,而不是“找不到错误 404”。有这么难吗?谢谢大家帮助我。

0 投票
1 回答
1296 浏览

c++ - 使用 Mongoose 服务器在第二个线程中发送数据

我正在尝试使用 mongoose Web 服务器库创建一个多线程服务器应用程序。我有主线程服务连接并向在自己的线程中工作的处理器发送请求。然后处理器将结果放入队列,队列观察者必须将结果发送回客户端。

消息来源是这样看的:

在这里,我为处理器准备数据并将其放入队列中。

在这里,我试图将结果发回。这个函数在它自己的线程中工作。

问题是客户端没有从服务器接收任何东西。
如果我在将任务放入队列后在 event_handler 中手动运行 check_result 函数,然后将计算结果传递回 event_handler,我可以使用 mg_printf_data(返回 MG_TRUE)将其发送给客户端。任何其他方式 - 我不是。

我究竟应该在这个来源中进行哪些更改才能使其正常工作?

0 投票
2 回答
569 浏览

c++ - 传递带有命名空间的 void 函数的转换错误

我试图在 C++ 类中包装我使用猫鼬(一个 C 库)编写的服务器。问题是我试图将函数传递ev_handlermg_create_server()在 mongoose 中创建服务器实例的 . 但它给出了一个我相信的铸造错误:

我试图制作ev_handler静态,但它send_index_page(conn)必须在包装类中。