问题标签 [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.
embedded - 使用 STM32 WebServer 加载网页内容
我正在使用 STM32F405 制作 WebServer,以太网芯片是 Wiznet 的 W5500。
Wiznet 提供了一个 HTTP WebServer 演示。但是,他们使用 sd 卡来加载网页内容。
我发现 Arduino WebServer 可以在不使用 SD 卡的情况下加载 Web 内容,它只需要在草图中添加一些 Arduino 代码。
所以问题是我的设备如何在没有 SD 卡的情况下加载网页内容。
我正在使用 IAR 顺便说一句。
http - http1.1 Keep-Alive 没有流水线
我正在实现一个向客户端发送 http keep-alive 请求的服务器,但我希望客户端不发出流水线请求。是否有任何标志告诉客户端不要执行多个管道请求?
keep-alive 请求接缝工作,但我不想要管道请求。
我想要一个顺序请求。
java - 使用 Gradle 运行本地 Web 服务器
我的 java 应用程序生成一些可视化(html、xml+xls)作为输出,由于浏览器保护措施,这些输出无法从文件系统提供。
我想做一个这样的命令./gradlew view
,为我服务。例如,npm
其中一种方法是使用webpack-server
或其他一些依赖项然后运行它。
有没有一种既定的方式来运行带有 gradle 的网络服务器?
arduino-esp8266 - 从 ESP8266 服务器发送大量数据
我正在从 ESP8266 构建一个 Web 服务器,它将环境数据作为网页发送到任何 Web 客户端。我正在使用 Arduino IDE。
问题是数据有时会变得相当大,我能找到的所有示例都显示在内存中组装网页并通过 ESP8266WebServer.send() 一次性将其全部发送到客户端。这适用于小型网页,但不适用于我需要发送的数据量。
我想要做的是发送网页的第一部分,然后在我收集数据时直接发送数据,然后发送网页的关闭部分。这甚至可能吗?我没有成功地寻找文档,而且似乎在任何地方都没有任何示例。
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上有一个文档,但是没有关于这个错误的解释。我还尝试复制实际代码,但仍然产生相同的错误。
python - 在辅助线程上运行任何 Web 服务器事件循环
我们有一个丰富的后端应用程序来处理消息/队列、数据库查询和计算机视觉。我们需要的另一个特性是 tcp 通信——最好是通过 http。关键是:这主要不是一个Web 应用程序。我们希望为不同的目的设置一组 http 通道。是的——我们了解包括主题和发布-订阅在内的消息传递:但是基于直接 tcp 的请求/响应也有它的位置。
我已经查看并尝试了半打 python http web 服务器。它们或隐式或显式地描述了event loop
在主线程上运行的要求。这对我们来说是本末倒置:main
线程已经被其他任务占用,包括其他活动的协调。
为了说明预期的结构,我将从我的aiohttp
特定问题如何在辅助线程中运行 aiohttp Web 应用程序中提取代码。在那个问题中,我尝试在另一个独立脚本中运行,但在从属线程上运行:
这给出了错误:
这个错误原来的意思是“嘿,你没有在main
线程上运行它”。
我们可以aiohttp
在这里逻辑地替换为其他 Web 服务器。这种要求 Web 服务器的事件处理循环在辅助线程上运行的方法是否适用?到目前为止,我也尝试过cherrypy
,tornado
和flask
.
请注意,我没有尝试过的一个著名的网络服务器是django
. 但这似乎需要围绕django
. 我们不希望这样做,因为该应用程序有一组其他目的,这些目的取代了拥有 http 服务器的这种杂耍。
我看过的一种方法是asyncio
. 我不明白它是否可以支持在侧线程上运行事件循环:如果是这样,那么它将是这个问题的答案。
无论如何,是否有任何 Web 服务器明确支持将其事件循环从主线程中移除?
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 个值的结果数组。
javascript - 如何压缩 HTML/JAVASCRIPT/CSS 网页以与在嵌入式设备上运行的 Web 服务器一起使用?
我正在构建一个网页,该网页将由嵌入式设备(可能是 ESP32)通过 wifi 提供服务。因为我设备的用户不一定有互联网连接,所以我不能使用任何 CDN,我被迫在设备上包含所有库(Bootstrap 等),并且网页太大而无法放入设备。有没有办法可以压缩网页的所有文件,以便它们占用更少的空间?由于我的设备的速度和处理能力限制,这些文件的解压必须在收到后在浏览器端进行。有没有办法做到这一点?
我是一个嵌入式人而不是网络开发人员,所以如果这是一个愚蠢的问题,请原谅我。
c - 猫鼬嵌入式网络服务器 - 不能在同一网络上的其他系统上工作
https://github.com/cesanta/mongoose/blob/master/examples/http-restful-server/main.c
下面的代码具有硬编码链接 https://localhost:8000。服务器使用同一系统上的同一链接接收来自客户端的请求。但是,如果从网络上的其他系统发送带有服务器系统 IP 的请求,则会出现连接被拒绝错误。我们如何动态绑定 ip。
java - GlassFish 启动方法
我想在 java glassFish 启动中启动一个服务,比如onApplicationEvent
在 spring 中。
如何在启动时运行此服务?