基于esp32-c6 及 espressif 5.1 在vscode esp插件环境下进行开发
我使用esp32-c6作为WiFi AP,当有STA接入且通过DHCP为其分配了IP地址后,AP会创建一个udp socket作为server等待接收来自客户端的UDP报文,AP成功创建socket后调用recvfrom()阻塞等待接收报文。
在测试时发现,AP在接收来自STA的第一帧UDP报文时recvfrom()无法及时返回结果,通常在STA发送第一帧报文几百毫秒之后,recvfrom()才能返回,且这个时间并不固定,在100-800ms之间。在成功接收了第一帧报文以后,后续来自STA的报文AP都能够及时地收到。
即使我将recvfrom()改为非阻塞接收,采用持续循环的方式去尝试接收第一帧UDP报文,也无法及时地收到,延迟时间仍然是几百毫秒。
我想要知道第一帧报文无法及时接收的原因是什么,以及如何解决这一问题,非常感谢。
ESP32C6作为UDP Server,使用recvfrom无法及时收到第一帧报文
Who is online
Users browsing this forum: Baidu [Spider], Baowan Li and 63 guests