完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我有一个 ESP-12f 模块,我要用它来从我们公司的服务器下载几百个小文件。不幸的是,每次我下载单个文件时,连接都会关闭,我必须重新建立新的TCP连接。我已经在多个服务器上尝试过这个,总是得到相同的结果。例如,当我在 Google 上发出这些命令时:
AT+CIPSTART="TCP","google.com",80 在 cipsend=29 Google sends me the webpage data that finishes with: "CLOSE" . And then I cannot issue any new CIPSEND commands unless I re-establish the connection using AT+CIPSTART="TCP","google.com",80 . Since a TCP connection takes about 1 second to establish and I need to repeat this hundreds of times, I lose a lot of time when downloading multiple files. I also used the "TCP keep alive" parameter from the datasheet that is explained like this: [] optional, detection time interval when TCP is kept alive, 默认情况下,此功能处于关闭状态。 0 : 禁用 TCP 保持连接状态 1~7200:检测时间间隔,单位:秒 我像这样使用了 1 和 1000: AT+CIPSTART="TCP","google.com",80,1 AT+CIPSTART="TCP","google.com",80,1000 但是以上方法似乎都不起作用,并且在下载一个文件后,连接仍会立即关闭。 在我自己手动关闭它之前,有没有办法保持连接活动? |
|
相关推荐
1个回答
|
|
这个问题可能是由于ESP-12F模块的默认设置导致的。在某些情况下,模块可能在发送完数据后自动关闭连接。为了解决这个问题,您可以尝试以下步骤:
1. 首先,确保您的ESP-12F模块固件是最新的。如果不是,请更新固件。 2. 在发送AT+CIPSTART命令之前,发送以下命令以设置模块在发送完数据后不自动关闭连接: ``` AT+CIPMODE=0 ``` 这个命令将设置模块为透传模式,这样在发送完数据后,连接不会自动关闭。 3. 发送AT+CIPSTART命令以建立TCP连接: ``` AT+CIPSTART="TCP","google.com",80 ``` 4. 使用AT+CIPSEND命令发送数据: ``` AT+CIPSEND=29 ``` 5. 接收数据后,如果需要发送更多数据,可以继续使用AT+CIPSEND命令,而无需重新建立连接。 6. 当您完成所有数据传输后,可以使用以下命令关闭连接: ``` AT+CIPCLOSE ``` 通过以上步骤,您应该可以在不重新建立连接的情况下发送多个文件。如果问题仍然存在,请检查您的网络环境和服务器设置,以确保没有其他因素导致连接关闭。 |
|
|
|
只有小组成员才能发言,加入小组>>
443浏览 6评论
375浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
355浏览 5评论
360浏览 4评论
337浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-11 16:14 , Processed in 0.804917 second(s), Total 81, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191