完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我把esp-mesh-lite的no-route例程和iperf例程合在一起,想测试两个mesh节点间tcp通信的吞吐量,实际过程中一开始流量正常,数秒后客户端发数据这边monitor卡死没有任何输出,只能手动ctrl+]退出,服务端收数据这边吞吐量归零,正常走完iperf测试时间(我设定的15s)后出现W (897098) iperf: tcp server recv error, error code: 11, reason: No more processes。 客户端那里因为卡死了没输出我也看不了错误原因,我直接使用iperf例程用wifi连接的时候测吞吐量没问题,请问是什么原因呢?用的是esp32-devkitc,esp-idf-v5.2.2
|
|
相关推荐
1个回答
|
|
从您的描述来看,问题可能出现在以下几个方面:
1. **内存问题**:当您将两个例程合并时,可能存在内存不足的情况。ESP32的内存有限,尤其是在运行较大的程序时。您可以尝试优化代码,减少内存占用,或者使用更小的堆栈大小。 2. **任务调度问题**:在ESP32中,任务调度可能会影响程序的运行。您需要确保在您的程序中,任务调度是合理的,以避免死锁或任务饿死。 3. **网络问题**:由于您提到在WiFi连接下使用iperf例程没有问题,这可能表明问题与ESP-Mesh网络有关。请检查您的Mesh网络配置,确保网络连接稳定。 4. **iperf参数设置**:您可能需要检查iperf的参数设置,确保它们适用于您的Mesh网络环境。例如,您可以尝试调整TCP窗口大小或使用不同的拥塞控制算法。 5. **ESP-Mesh Lite版本问题**:您使用的是ESP-IDF v5.2.2,但ESP-Mesh Lite可能在这个版本中存在一些已知问题。您可以尝试升级到最新版本的ESP-IDF,看看问题是否得到解决。 6. **错误处理**:在您的程序中,可能存在一些未处理的错误。当错误发生时,程序可能无法正常运行。您可以在代码中添加更多的错误处理逻辑,以便在出现问题时能够及时发现并解决问题。 7. **调试信息**:由于客户端卡死,您可能无法获取详细的错误信息。您可以尝试在程序中添加更多的日志输出,以便在出现问题时能够更容易地定位问题。 综上所述,您需要从多个方面检查和优化您的程序,以解决这个问题。希望这些建议对您有所帮助。 |
|
|
|
只有小组成员才能发言,加入小组>>
1138 浏览 1 评论
576浏览 6评论
477浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
461浏览 5评论
462浏览 4评论
435浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 10:46 , Processed in 0.775738 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号