问题描述
在温湿度器产品上使用ESP8684-WROOM-01C-H4模组,ESP-IDF版本为idf5.1时,模拟web配网在网络不稳定环境下,dns服务循环创建和关闭socket时,出现Socket绑定错误:errno 112,这是为什么呢?
解决思路
socket绑定失败通常发生在以下情况:
(1)尝试在同一端口(DNS_PORT)上启动另一个DNS服务时,socket绑定将会失败,并提示端口已被占用的错误。
(2)程序没有正确地关闭套接字,或者关闭后立即尝试重新使用它时,socket绑定将会失败,并提示绑定地址已被使用的错误。
解决方案
(1)确保没有其他DNS服务正在使用你试图绑定的端口。
(2)如果程序在关闭套接字后立即尝试重新使用它,需要在套接字关闭后等待一段时间,或者使用setsockopt 函数设置 SO_REUSEADDR 选项来允许立即重用地址。例如,以下代码允许套接字重用本地地址。
全部0条评论
快来发表一下你的评论吧 !