我们的 Linux 应用程序使用 POCO HTTPS 客户端连接到不同的服务器。 在某些情况下、WiFi 会断开连接并重新连接到设备。 在这种情况下、即使通过互联网连接回 WiFi、POCO API 也会引发"未找到主机"异常。 此错误仅在 Linux 应用程序进程重新启动时才会消失。
我们使用自己的网络管理器、在断开/ dbus 网络移除信号期间执行以下操作。
系统("ip -4 addr flush dev wlan0");
系统("killall avahi-autoipd");
系统("rm -rf /etc/resolv.conf);
系统("pkill udhcpc");
如果互联网单独断开并重新连接、则相同的应用程序代码可以正常运行、无需过程重新启动。 在 WiFi 关联期间、我们没有明确启动 dnsmasq。 如果您对此有任何建议、请告知我们。 在 WiFi 断开连接期间、我们是否缺少任何东西? 我们希望应用程序能够在不重新启动进程的情况下连接回服务器。
用于连接路由器的命令:
系统("udhcpc -iwlan0 -n -t 3")
系统("ip -6 addr flush dev wlan0");