完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好,在我的项目中,我有一个网格和一个 tcp 服务器,它们从传感器网络中接收数据。传感器网络形成一个网状网络,并使用
espconn_mesh_enable(mesh_enable_cb、MESH_ONLINE); ,然后每个设备通过以下方式发送数据 espconn_mesh_sent 功能。 我期望的行为是,一旦发送了数据,设备就会与服务器断开连接,关闭 TCP 连接,为此 espconn_mesh_disconnect ,但它没有关闭TCP连接,还有其他命令吗?谢谢 |
|
相关推荐
1个回答
|
|
您好!根据您的描述,您希望在发送数据后断开TCP连接。在ESP8266和ESP32的ESP-MESH框架中,`espconn_mesh_disconnect`函数确实用于断开连接。但是,如果它没有按预期工作,您可以尝试以下方法:
1. 确保在调用`espconn_mesh_disconnect`之前,您已经成功建立了连接。您可以检查连接状态,例如使用`espconn_mesh_get_connection_status`函数。 2. 在调用`espconn_mesh_disconnect`之后,您可以使用`vTaskDelay`函数等待一段时间,以确保连接已经完全断开。例如: ```c espconn_mesh_disconnect(connection); vTaskDelay(100 / portTICK_PERIOD_MS); // 等待100毫秒 ``` 3. 如果仍然无法断开连接,您可以尝试使用`espconn_disconnect`函数,该函数可以断开普通的TCP连接。但是请注意,这可能不适用于ESP-MESH框架。 4. 检查您的代码中是否有其他地方在尝试重新连接或保持连接。确保在发送数据后没有其他代码尝试重新建立连接。 5. 如果以上方法都无法解决问题,您可以尝试在ESP-MESH框架的GitHub仓库中查找类似问题的解决方案或报告问题。 希望这些建议能帮助您解决问题。如果您有其他问题,请随时提问。 |
|
|
|
只有小组成员才能发言,加入小组>>
1143 浏览 1 评论
578浏览 6评论
479浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
463浏览 5评论
464浏览 4评论
440浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 04:59 , Processed in 0.563450 second(s), Total 45, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号