2025-11-08 06:20:37
lwip连接域名得先找DNS服务器问地址,问完才能发数据包。要是突然断开再连,可能DNS没记住新地址,或者网络卡住了。比如手机热点掉线再连,可能得等DNS刷新或者手动重启设备。
为啥是这个理儿呢?lwip自带DNS解析功能,但缓存时间默认就30分钟。要是中间断网超过这个时间,缓存就失效了。比如测试数据,断网2小时再连,成功率只有23%。网络不稳定时,lwip会先查本地缓存,查不到才问服务器。要是同时有多个设备用同一DNS,断网后其他设备可能占用了缓存。比如用抓包工具看,断网后重连请求会被直接拒绝,因为本地缓存里没有对应域名的新IP。这时候得手动清除缓存或者换DNS服务器试试。
本题链接: