完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大约两年前,我为 ESP8266(特别是 WeMos D1 Mini)编写了一个通用的 HTTP 服务器。当时它工作正常。它会运行数天/数周来处理数百个浏览器的请求。没有内存泄漏或吱吱声。快进到今天——我使用最新的 Arduino IDE 1.8.9 和 ESP8266 社区版本 2.5.2 在 Arduino 环境中加载了我的旧项目。刷新指向托管网页的浏览器几次会耗尽 ESP8266 允许的 5 个连接,然后它基本上停止处理请求。
通过旧库 2.5.1、2.5.0、2.4.2 等向后工作,我终于加载了 2.3.0 并且它可以正常工作。问题似乎是 ESP8266 () 方法不再清理连接并触发我的 回调事件。 我假设我错过了一些新程序。对于上述两种方法以及 2.3.0 和 2.4.0 之间的库更改,我在该站点以及整个 Internet 上进行了多次 Google 搜索。我没有任何运气。 以下是我在适用于旧 2.3.0 库的代码中执行的 espconn 步骤。 1. 我有一个 C++ 对象代表这个客户端浏览器连接。 2. 当请求新的浏览器连接时,会触发 回调并将其转发给这些对象之一。在其中我... A。存储对提供的 espconn* b 的引用。将 espconn->reserve 设置为此对象 c。设置 和 回调 d。设置 3. 最终被调用,我读取传入的浏览器请求并设置 C++ 对象以在下一个 Arduino 循环周期中处理请求。我不在回调中进行实际处理。 4. 下一个循环读取并输出请求的 SPIFF 文件。根据文件的大小,这将在多个循环周期中处理,以便使用最少的时间。 5.文件关闭, 方法被调用。 6. 在2.3.0 库中, 事件在1 毫秒后被一致调用。在任何较新的库 (2.4.0 – 2.5.2) 中,我从未收到 回调。 3 行代码= 完整的物联网、应用程序、 带 GUI 管理客户端的 Web 服务器、拖放文件管理器、内置 OTA、接入点管理器、 性能指标、Web 套接字通信、应用程序 API,全部在 ESP8266 上运行…… 甚至可以在 ESP-01S 上使用 --- 请检查一下! |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
313 浏览 0 评论
1170 浏览 1 评论
585浏览 6评论
483浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
468浏览 5评论
467浏览 4评论
442浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 07:31 , Processed in 0.874387 second(s), Total 74, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号