问题标签 [embeddedwebserver]

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 投票
3 回答
2927 浏览

embedded - 使用 STM32 WebServer 加载网页内容

我正在使用 STM32F405 制作 WebServer,以太网芯片是 Wiznet 的 W5500。

Wiznet 提供了一个 HTTP WebServer 演示。但是,他们使用 sd 卡来加载网页内容。

我发现 Arduino WebServer 可以在不使用 SD 卡的情况下加载 Web 内容,它只需要在草图中添加一些 Arduino 代码。

所以问题是我的设备如何在没有 SD 卡的情况下加载网页内容。

我正在使用 IAR 顺便说一句。

0 投票
1 回答
33 浏览

http - http1.1 Keep-Alive 没有流水线

我正在实现一个向客户端发送 http keep-alive 请求的服务器,但我希望客户端不发出流水线请求。是否有任何标志告诉客户端不要执行多个管道请求?

keep-alive 请求接缝工作,但我不想要管道请求。

我想要一个顺序请求。

0 投票
1 回答
1324 浏览

java - 使用 Gradle 运行本地 Web 服务器

我的 java 应用程序生成一些可视化(html、xml+xls)作为输出,由于浏览器保护措施,这些输出无法从文件系统提供。

我想做一个这样的命令./gradlew view,为我服务。例如,npm其中一种方法是使用webpack-server或其他一些依赖项然后运行它。

有没有一种既定的方式来运行带有 gradle 的网络服务器?

0 投票
3 回答
3036 浏览

arduino-esp8266 - 从 ESP8266 服务器发送大量数据

我正在从 ESP8266 构建一个 Web 服务器,它将环境数据作为网页发送到任何 Web 客户端。我正在使用 Arduino IDE。

问题是数据有时会变得相当大,我能找到的所有示例都显示在内存中组装网页并通过 ESP8266WebServer.send() 一次性将其全部发送到客户端。这适用于小型网页,但不适用于我需要发送的数据量。

我想要做的是发送网页的第一部分,然后在我收集数据时直接发送数据,然后发送网页的关闭部分。这甚至可能吗?我没有成功地寻找文档,而且似乎在任何地方都没有任何示例。

0 投票
1 回答
162 浏览

c - Cygwin64 终端:未定义对 `mbuf_remove` 的引用

“我正在学习从 cesanta/mongoose https://github.com/cesanta/mongoose/blob/master/examples/tcp_echo_server/echo_server.c创建一个 tcp echo 服务器,但是当使用 Makefile 用 cygwin 编译它时,它不会工作。

我也尝试过学习 Makefile,但到目前为止我很难理解它。我还在源文件的当前目录中包含了头文件,但它仍然不起作用。

错误:

github上有一个文档,但是没有关于这个错误的解释。我还尝试复制实际代码,但仍然产生相同的错误。

0 投票
2 回答
236 浏览

python - 在辅助线程上运行任何 Web 服务器事件循环

我们有一个丰富的后端应用程序来处理消息/队列、数据库查询和计算机视觉。我们需要的另一个特性是 tcp 通信——最好是通过 http。关键是:这主要不是一个Web 应用程序。我们希望为不同的目的设置一组 http 通道。是的——我们了解包括主题和发布-订阅在内的消息传递:但是基于直接 tcp 的请求/响应也有它的位置。

我已经查看并尝试了半打 python http web 服务器。它们或隐式或显式地描述了event loop线程上运行的要求。这对我们来说是本末倒置:main线程已经被其他任务占用,包括其他活动的协调。

为了说明预期的结构,我将从我的aiohttp特定问题如何在辅助线程中运行 aiohttp Web 应用程序中提取代码。在那个问题中,我尝试在另一个独立脚本中运行,但在从属线程上运行:

这给出了错误:

这个错误原来的意思是“嘿,你没有在main线程上运行它”。

我们可以aiohttp在这里逻辑地替换为其他 Web 服务器。这种要求 Web 服务器的事件处理循环在辅助线程上运行的方法是否适用?到目前为止,我也尝试过cherrypy,tornadoflask.

请注意,我没有尝试过的一个著名的网络服务器是django. 但这似乎需要围绕django. 我们不希望这样做,因为该应用程序有一组其他目的,这些目的取代了拥有 http 服务器的这种杂耍。

看过的一种方法是asyncio. 我不明白它是否可以支持在侧线程上运行事件循环:如果是这样,那么它将是这个问题的答案。

无论如何,是否有任何 Web 服务器明确支持将其事件循环从主线程中移除?

0 投票
2 回答
2723 浏览

arrays - ESPAsyncWebServer 从 RAM 提供大型阵列

我正在尝试使用 ArduinoIDE 的 ESPAsyncWebServer 库从 ESP32 堆中提供一个具有 8192 个值的大型浮点数组。µC 是 ESP32 devkit c,我想用浏览器访问阵列。这是数组的代码:

目前,我使用“ArduinoJson Basic Response”并以 512 个值的一部分发送大数组。使用 1024 个值时,如果我尝试使用浏览器访问数组,我会在任务 async_tcp 中出现堆栈溢出,因此我将其设置为 512 个值。这是此的代码:

我这样做了 16 次以服务整个阵列。后来,我用JavaScript调用路径的“/array1”、“/array2”、“/array3”……并解析JSON。如果在网络浏览器中调用其中一个路径,则这是输出:

到目前为止,这在大多数情况下都有效,但我认为它非常冗长。如果整个阵列只有一条路径,那就太好了。它适用于来自 SPIFFS 的静态文件,例如:

但是将整个阵列写入闪存需要很长时间。虽然阅读速度真的很快。

我也尝试了“ArduinoJson Advanced Response”,但我无法让它与 JsonArray 一起运行。不幸的是,ESPAsyncWebServer for ArduinoJson 的 GitHub 页面上的示例已被弃用,因为它们在新版本 (v6) 中稍微更改了语法。

简而言之:使用 ESPAsyncWebServer 库从 ESP32 堆中提供如此大的数组的最佳方式是什么?目标是稍后在网络浏览器中使用 JavaScript 处理数组。

谢谢你的帮助!

本蒂德姆

PS:如果有帮助:我正在用电机电流的库 arduinoFFT 进行 FFT。因此,我做了一个 ADC 并将模数转换器中的 16384 个值保存在一个数组中。该数组被传递到 FFT 库。输出是一个包含 8192 个值的数组。此结果在堆中,应传输到我的 Web 界面以显示结果。我想将阵列保留在 RAM 中以提高速度。对于每次测量,您都会得到一个包含 8192 个值的结果数组。

0 投票
1 回答
42 浏览

javascript - 如何压缩 HTML/JAVASCRIPT/CSS 网页以与在嵌入式设备上运行的 Web 服务器一起使用?

我正在构建一个网页,该网页将由嵌入式设备(可能是 ESP32)通过 wifi 提供服务。因为我设备的用户不一定有互联网连接,所以我不能使用任何 CDN,我被迫在设备上包含所有库(Bootstrap 等),并且网页太大而无法放入设备。有没有办法可以压缩网页的所有文件,以便它们占用更少的空间?由于我的设备的速度和处理能力限制,这些文件的解压必须在收到后在浏览器端进行。有没有办法做到这一点?

我是一个嵌入式人而不是网络开发人员,所以如果这是一个愚蠢的问题,请原谅我。

0 投票
1 回答
560 浏览

c - 猫鼬嵌入式网络服务器 - 不能在同一网络上的其他系统上工作

https://github.com/cesanta/mongoose/blob/master/examples/http-restful-server/main.c

下面的代码具有硬编码链接 https://localhost:8000。服务器使用同一系统上的同一链接接收来自客户端的请求。但是,如果从网络上的其他系统发送带有服务器系统 IP 的请求,则会出现连接被拒绝错误。我们如何动态绑定 ip。

0 投票
0 回答
13 浏览

java - GlassFish 启动方法

我想在 java glassFish 启动中启动一个服务,比如onApplicationEvent在 spring 中。

如何在启动时运行此服务?